Some of you may be familiar with the BigNum Bakeoff, which ended up quite interestingly. The goal can more or less be summarized as writing a C program who's output would be the largest, under some constraints and theoretical conditions e.g. a computer that could run the program.
In the same spirit, I'm posing a similar challenge open to all languages. The conditions are:
Maximum 512 bytes.
Final result must be printed to STDOUT. This is your score. If multiple integers are printed, they will be concatenated.
Output must be an integer. (Note: Infinity is not an integer.)
No built-in constants larger than 10, but numerals/digits are fine (e.g. Avogadro's constant (as a built-in constant) is invalid, but 10000 isn't.)
The program must terminate when provided sufficient resources to be run.
The printed output must be deterministic when provided sufficient resources to be run.
You are provided large enough integers or bigints for your program to run. For example, if your program requires applying basic operations to numbers smaller than 101,000,000, then you may assume the computer running this can handle numbers at least up to 101,000,000. (Note: Your program may also be run on a computer that handles numbers up to 102,000,000, so simply calling on the maximum integer the computer can handle will not result in deterministic results.)
You are provided enough computing power for your program to finish executing in under 5 seconds. (So don't worry if your program has been running for an hour on your computer and isn't going to finish anytime soon.)
No external resources, so don't think about importing that Ackermann function unless it's a built-in.
All magical items are being temporarily borrowed from a generous deity.
Extremely large with unknown limit
- Steven H, Pyth f3+B³F+ω²(25626)
where B³F is the Church-Kleene ordinal with the fundamental sequence of
B³F[n] = B³F(n), the Busy Beaver BrainF*** variant
B³F[x] = x, ω ≤ x < B³F
Leaderboard:
Simply Beautiful Art, Ruby fψ0(X(ΩM+X(ΩM+1ΩM+1)))+29(999)
Binary198, Python 3 fψ0(εΩω+1)+1(3) (there was previously an error but it was fixed)
Steven H, Pyth fψ(ΩΩ)+ω²+183(25627!)
Leaky Nun, Python 3 fε0(999)
fejfo, Python 3 fωω6(fωω5(9e999))
Steven H, Python 3 fωω+ω²(99999)
Simply Beautiful Art, Ruby fω+35(9999)
i.., Python 2, f3(f3(141))
Some side notes:
If we can't verify your score, we can't put it on the leaderboard. So you may want to expect explaining your program a bit.
Likewise, if you don't understand how large your number is, explain your program and we'll try to work it out.
If you use a Loader's number type of program, I'll place you in a separate category called "Extremely large with unknown limit", since Loader's number doesn't have a non-trivial upper bound in terms of the fast growing hierarchy for 'standard' fundamental sequences.
Numbers will be ranked via the fast-growing hierarchy.
For those who would like to learn how to use the fast growing hierarchy to approximate really large numbers, I'm hosting a Discord server just for that. There's also a chat room: Ordinality.
Similar challenges:
Golf a number bigger than TREE(3)
Shortest terminating program whose output size exceeds Graham's number
For those who want to see some simple programs that output the fast growing hierarchy for small values, here they are:
Ruby: fast growing hierarchy
#f_0:
f=->n{n+=1}
#f_1:
f=->n{n.times{n+=1};n}
#f_2:
f=->n{n.times{n.times{n+=1}};n}
#f_3:
f=->n{n.times{n.times{n.times{n+=1}}};n}
#f_ω:
f=->n{eval("n.times{"*n+"n+=1"+"}"*n);n}
#f_(ω+1):
f=->n{n.times{eval("n.times{"*n+"n+=1"+"}"*n)};n}
#f_(ω+2):
f=->n{n.times{n.times{eval("n.times{"*n+"n+=1"+"}"*n)}};n}
#f_(ω+3):
f=->n{n.times{n.times{n.times{eval("n.times{"*n+"n+=1"+"}"*n)}}};n}
#f_(ω∙2) = f_(ω+ω):
f=->n{eval("n.times{"*n+"eval(\"n.times{\"*n+\"n+=1\"+\"}\"*n)"+"}"*n);n}
etc.
To go from f_x
to f_(x+1)
, we add one loop of the n.times{...}
.
Otherwise, we're diagonalizing against all the previous e.g.
f_ω(1) = f_1(1)
f_ω(2) = f_2(2)
f_ω(3) = f_3(3)
f_(ω+ω)(1) = f_(ω+1)(1)
f_(ω+ω)(2) = f_(ω+2)(2)
f_(ω+ω)(3) = f_(ω+3)(3)
etc.