# Double exponential function

A double exponential function is a constant raised to the power of an exponential function. The general formula is $f(x)=a^{b^{x}}=a^{(b^{x})}$ (where a>1 and b>1), which grows much more quickly than an exponential function. For example, if a = b = 10:

• f(0) = 10
• f(1) = 1010
• f(2) = 10100 = googol
• f(3) = 101000
• f(100) = 1010100 = googolplex.

Factorials grow more quickly than exponential functions, but much more slowly than doubly exponential functions. However, tetration and the Ackermann function grow faster. See Big O notation for a comparison of the rate of growth of various functions.

The inverse of the double exponential function is the double logarithm ln(ln(x)).

## Doubly exponential sequences

Aho and Sloane observed that in several important integer sequences, each term is a constant plus the square of the previous term. They show that such sequences can be formed by rounding to the nearest integer the values of a doubly exponential function in which the middle exponent is two. Integer sequences with this squaring behavior include

$F(m)=2^{2^{m}}+1$ • The harmonic primes: The primes p, in which the sequence 1/2+1/3+1/5+1/7+ ... +1/p exceeds 0, 1, 2, 3, ...
The first few numbers, starting with 0, are 2, 5, 277, 5195977, ... (sequence A016088 in the OEIS)
$MM(p)=2^{2^{p}-1}-1$ $s_{n}=\left\lfloor E^{2^{n+1}}+{\frac {1}{2}}\right\rfloor$ where E ≈ 1.264084735305302 is Vardi's constant (sequence A076393 in the OEIS).
$2^{2^{k}}$ More generally, if the nth value of an integer sequence is proportional to a double exponential function of n, Ionaşcu and Stănică call the sequence "almost doubly-exponential" and describe conditions under which it can be defined as the floor of a doubly exponential sequence plus a constant. Additional sequences of this type include

• The prime numbers 2, 11, 1361, ... (sequence A051254 in the OEIS)
$a(n)=\left\lfloor A^{3^{n}}\right\rfloor$ where A ≈ 1.306377883863 is Mills' constant.

## Applications

### Algorithmic complexity

In computational complexity theory, some algorithms take doubly exponential time:

In some other problems in the design and analysis of algorithms, doubly exponential sequences are used within the design of an algorithm rather than in its analysis. An example is Chan's algorithm for computing convex hulls, which performs a sequence of computations using test values hi = 22i (estimates for the eventual output size), taking time O(n log hi) for each test value in the sequence. Because of the double exponential growth of these test values, the time for each computation in the sequence grows singly exponentially as a function of i, and the total time is dominated by the time for the final step of the sequence. Thus, the overall time for the algorithm is O(n log h) where h is the actual output size.

### Number theory

Some number theoretical bounds are double exponential. Odd perfect numbers with n distinct prime factors are known to be at most

$2^{4^{n}}$ a result of Nielsen (2003). The maximal volume of a d-lattice polytope with k ≥ 1 interior lattice points is at most

$(8d)^{d}\cdot 15^{d\cdot 2^{2d+1}}$ a result of Pikhurko.

The largest known prime number in the electronic era has grown roughly as a double exponential function of the year since Miller and Wheeler found a 79-digit prime on EDSAC1 in 1951.

### Theoretical biology

In population dynamics the growth of human population is sometimes supposed to be double exponential. Varfolomeyev and Gurevich experimentally fit

$N(y)=375.6\cdot 1.00185^{1.00737^{y-1000}}\,$ where N(y) is the population in millions in year y.

### Physics

In the Toda oscillator model of self-pulsation, the logarithm of amplitude varies exponentially with time (for large amplitudes), thus the amplitude varies as doubly exponential function of time.

Dendritic macromolecules have been observed to grow in a doubly-exponential fashion.