Chapter 1 · Section 15
Where the Numbers Stop: the Float Range
The BPT law
BPT puts no top on the level. Part 3.9's Vertical Recursion Pulse Scaling Law, ①⥂⧖(n) = 2ⁿ · fⁿ · ↁℨ⧖, describes "a ladder of computational depth that extends indefinitely", and "vertical recursion shows why the UniSphere has effectively infinite depth, with each rung in the ladder generating new strata of temporal precision and computational potential". Through Level from Share and Ascendant Wells a lineage can climb past the universe it came from (Part 3.14, "Climbing back"). BPT does not state anything about the numbers a machine can hold; this Part records where the game's arithmetic, not the theory, runs out.
The established physics
None: a numeric property of the machine (IEEE 754 binary64), whose largest finite double is about 1.80 × 10³⁰⁸ ≈ 2¹⁰²⁴.
The game's math
Each per-level quantity becomes Infinity at a fixed level. The thresholds follow from 2^x > 2¹⁰²⁴ ⇒ Infinity. They assume f ≈ 1.018, so log₂(2f) ≈ 1.0256:
| Quantity | Formula | Infinity from | What breaks |
|---|---|---|---|
| ℏ′ = s′²·ℏ_ℨ | (2f)^(2L) | L ≈ 500 (s′² first) | ℏ′, m′, G′, transitionEnergy in describeUniverse() |
| pixelCount, skinCapacity | 16·4^L = 2^(2L+4) | L = 510 | view readout; skin capacity if the model level ever followed L |
| s, Tempo ratio | (2f)^L | L ≈ 998 | s, Tempo, Pulse Diameter |
| viewSide, bitsPerPulse | 4·2^L, 2^(L+1) | L = 1022, 1023 | view side, bits |
| rupturePulses, layerCeiling | 2^L, 3·2^L | L = 1024, 1023 | life length, harmonic ceiling |
| progeny | 2^(L/3) | L = 3072 | progeny law |
Underflow comes later than overflow: ℨ is fixed at 2.28 × 10⁻¹⁰⁶ s, and ℏ_ℨ = 1.89 × 10⁻¹⁵⁹ J·s is still far above 4.9 × 10⁻³²⁴.
Precision is lost before overflow. 2^L is exact as a double for every whole L. The step count + 1 is exact. Sums such as physicalTempo() + rupturePulses lose whole Tempos above 2⁵³ (L > 53). This does not matter today, because they are computed at Lm ≤ 6.
Today none of this is reached. The slider stops at 202 (Part 1.11), and deeper universes come only through Level from Share, at most +3.02 levels a generation. So a lineage needs at least ⌈(500 − 202)/3.02⌉ = 99 Ascendant generations past ours before ℏ′ overflows. The chapter records the range so that no later change (for instance, a slider past 202) meets it unannounced.
In the game
Nothing in an ordinary run shows it. If a value did overflow, U.sci() would print it as "—" (universe.js:331), so the readout row for ℏ′ or s would read "—" in place of a number, and U.seconds() does the same for times (universe.js:342). At level 202 the deepest readout values are well inside the range: the view's 6.6 × 10¹²² pixels and ℏ′ for our own universe.
The scale model
The model quantities (2^Lm, 16·4^Lm) are small and exact. Only the true-level quantities reach the float range.
Where the game and the theory differ
BPT's ladder has no last rung. The game's arithmetic in doubles stops near 2¹⁰²⁴, first for ℏ′ near level 500. Lifting it would need the per-level quantities to be kept as logarithms.
Fixed numbers
| Number | Where | What it is | Kind |
|---|---|---|---|
| ≈ 2¹⁰²⁴ (1.80 × 10³⁰⁸) | every Math.pow in universe.js |
largest finite double | CAP (machine limit, not physics; would need log-space math to lift) |
| 2⁵³ | integer sums in app.js clock | exact-integer range of a double | METHOD (precision limit) |
| 3 | universe.js:331–336 | sci() default significant figures |
DISPLAY |
| −3, 6 | universe.js:334 | exponent range printed in plain notation | DISPLAY |
| 365.25 × 86400; 1e9 | universe.js:344–345 | a Julian year; Gyr threshold in seconds() |
PHYSICS (Julian year) / DISPLAY |