Loader's number

Loader's number is the output of loader.c, a program by Ralph Loader that came in first place for the Bignum Bakeoff contest, whose objective was to write a C program (in 512 characters or less) that generates the largest possible output.

The program diagonalizes over the Huet-Coquand. Its output, affectionately nicknamed Loader's number, is defined as D5(99), where D(k) is the sum of all possible bit strings described by the first k expressions of the calculus of constructions (encoding everything as binary numbers).

David Moews has shown that D(99) is larger than 2↑↑30419, and that even D2(99) would be much larger than fε 0 + ω3 (1000000) in the fast-growing hierarchy. Since it is the upper bound for the output of Marxen.c, then D2(99) is much larger than this.

The final output of D5(99) is much larger than TREE(3), SCG(13), or BH(3). It is probably overpowered by finite promise games and Friedman's finite trees. Loader's function is computable, so \(\Sigma(n) > D^5(99)\) for relatively small n, say, n = 100.

Note that the code is not intended to be run on a real computer; it assumes that 'int' is big enough to hold all the values computed without overflow, which of course is far bigger than anything physically feasible.

The growth rate of D(n) corresponds to the proof-theoretic ordinal of higher order logic. This is much, much larger than any computable ordinal notation has reached, so its much larger than \(\psi(\psi_{I_\omega}(0))\) for example.

Code

 * 1) define R { return
 * 2) define P P (
 * 3) define L L (
 * 4) define T S (v, y, c,
 * 5) define C ),
 * 6) define X x)
 * 7) define F );}

int r, a; P y, X  R y - ~y << x; } Z (X  R r = x % 2 ? 0 : 1 + Z (x / 2 F L X   R x / 2 >> Z (x F T  t) { int f = L t C              x = r;   R         f - 2 ? f > 2 ? f - v ? t - (f > v) * c : y : P f, P T L X  C                           S (v+2, t  U y C  c, Z (X )))         :         A (T  L X  C                 T  Z (X ) F } A (y, X  R L y) - 1 ? 5 << P y, X      : S (4, x, 4, Z (r) F D (X {  int f,     d,      c = 0, t = 7, u = 14; while (x && D (x - 1 C B 1)) d = L L D (X ) C        f = L r C         x = L r C         c - r || (            L u) || L r) - f ||            B u = S (4, d, 4, r C                    t = A (t, d) C            f / 2 & B  c = P d, c C                               t  U t C                               u  U u) ) C        c && B            t = P               ~u & 2 | B                  u = 1 << P L c C  u) C                P L c C  t) C            c = r  C         u / 2 & B             c = P t, c C             u  U t C             t = 9 );   R a = P P t, P u, P x, c)) C                                 a F } main    R D (D (D (D (D (99)))) F
 * 1) define U = S(4,13,-4,
 * 1) define B (x /= 2) % 2 && (