Tetration

Tetration, also known as hyper4, superpower, superdegree or powerlog, can refer to one of two different dyadic operators. The first and most common, written $$^yx$$ or x④y, is defined as $$^yx = \underbrace{x^{x^{x^{.^{.^.}}}}}_y$$, in analogy to $$x \cdot y = \underbrace{x + x + \ldots + x + x}_y$$ and $$x^y = \underbrace{x \cdot x \cdot \ldots \cdot x \cdot x}_y$$. It can also be written $$x\uparrow\uparrow y$$ (using Arrow Notation) or $$x \rightarrow y \rightarrow 2$$ (using Chained Arrow Notation) or $$\{x,y,2\}$$ (using BEAF.)

The second, less mathematically interesting version (also known as the hyper4 operator) is written x④y and is defined as x④y $$= \underbrace{\left(\left(\left(x^x\right)^x\right)^x\right)\ldots}_y$$, which simplifies to $$x^{x^{y - 1}}$$ as $$\left(a^b\right)^c = a^{b \cdot c}$$. Most of the time, the former definition is preferred.

Daniel Geisler has created a website, tetration.org, dedicated to the operator and its properties.

Expansion
Mathematicians have not agreed on the function's behavior on $$^yx$$ where y is not an integer.

Geisler found that infinite tetration on the complex plane exhibits fractal behavior similar to the Mandelbrot set, since it involves repeated exponentiation.

Examples
Here are some examples of tetration in action:

$$0.5\uparrow\uparrow 2$$ = $$\frac{\sqrt{2}}{2}$$ = 0.70710678118655

$$10\uparrow\uparrow 1$$ = 10

$$2\uparrow\uparrow 2$$ = 4

$$3\uparrow\uparrow 2$$ = 27

$$4\uparrow\uparrow 2$$ = 256

$$5\uparrow\uparrow 2$$ = 3,125

$$6\uparrow\uparrow 2$$ = 46,656

$$7\uparrow\uparrow 2$$ = 823,543

$$8\uparrow\uparrow 2$$ = 16,777,216

$$9\uparrow\uparrow 2$$ = 387,020,489

$$10\uparrow\uparrow 2$$ = 10,000,000,000

$$0.5\uparrow\uparrow 3$$ = $$\frac{1}{2}^{\frac{\sqrt{2}}{2}}$$ = 0.61254732653607

$$2\uparrow\uparrow 3$$ = 16

$$3\uparrow\uparrow 3$$ = 7,625,597,484,987

$$4\uparrow\uparrow 3$$ = 1.340780792994259709957402499821x10154

$$5\uparrow\uparrow 3$$ = 1.911012597945477520356404559704x102,184

$$6\uparrow\uparrow 3$$ = 2.6591197721532267796824894043879x1036,304

$$7\uparrow\uparrow 3$$ = 3.7598235267837885389221309308958x10695,974

$$8\uparrow\uparrow 3$$ = 6.0145207536513920379045068488759x1015,151,335

$$9\uparrow\uparrow 3$$ = 4.2812477317574704803698711592765x10369,693,099

$$10\uparrow\uparrow 3$$ = 1010,000,000,000

$$2\uparrow\uparrow 4$$ = 65,536

$$3\uparrow\uparrow 4$$ = 1.2580142906274913178603906646137x103,638,334,640,024

$$4\uparrow\uparrow 4$$ = 2.3610226714597313206877027497781x10 8,072,304,726,028,225,379,382,630,397,085,399,030,071,367,921,738,743,031,867,082,828,418,414,481,568,309,149,198,911,814,701,229,483,451,981,557,574,771,156,496,457,238,535,299,087,481,244,990,261,351,116 = 2.3610226714597313206877027497781x10 8.0723047260282253793826303970854x10153, well over a googolplex

$$10\uparrow\uparrow 4$$ = 1010 10,000,000,000

$$2\uparrow\uparrow 5$$ = 2.0035299304068464649790723515602x1019,728

$$3\uparrow\uparrow 5$$ = 106.00225356799454734996618170266x10 3,638,334,640,023

$$10\uparrow\uparrow 10$$ = 1010 10 10 10 10 10 10 10 10       = Decker

$$10\uparrow\uparrow 100$$ = 1010 10 10 :: :: :: 100 10's :: :: :: :: 10          = giggol or centker

$$10\uparrow\uparrow giggol$$ = giggolplex

Pseudocode
Below is an example of pseudocode for tetration.

function tetration(a, b): result := 1 repeat b times: result := a to the power of result return result