ioannis.c is an entry "Ioannis" submitted to Bignum Bakeoff.[1] The code defines a function similar to the Ackermann function, defines a single-argument function using it, and iterates that function.

The output can be calculated in this way:

  1. Begin with s (0) = 9,
  2. Then s(k+1) = {s(k),2,s(k)-1} in BEAF and this number is s(115).

The output is then approximately equal to \(f_{\omega+1}(115)\), which is larger than Graham's number. In fact it is larger than \(G_{115}\), while Graham's number is only \(G_{64}\).

Code

int a(int k,int m,int n)
{if (k==1) return(m+n);
else {if (n==1) return m;
else return a(k-1,m,a(k,m,n-1));}}
#define d(n) a(n,n,n)
int main(void)
{return d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(
d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(
d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(
d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(d(
d(d(d(d(d(d(d(d(9)))))))))))))))))))))))))))))))))))))))
))))))))))))))))))))))))))))))))))))))))))))))))))))))))
)))))))))))))))))))));}

Approximations

Notation Approximation
BEAF {9,116,1,2}
Hyper-E notation E115##115#115
Chained arrow notation 9→9→116→2
Strong array notation s(9,116,2,2)
Fast-growing hierarchy \(f_{\omega+1}(115)\)
Hardy hierarchy \(H_{\omega^{\omega+1}}(115)\)
Slow-growing hierarchy \(g_{\Gamma_0}(115)\)

Sources

See also

Community content is available under CC-BY-SA unless otherwise noted.