Incoprea Research Testing the notebook · 30 October 2026

Computation

A proposal that rounding error switches from benign to catastrophic at a critical reduction depth, tested against an exact rational reference at 200 orderings per depth.

Does floating-point error have a phase transition?

Hypothesis 23, Volume II · Computation · verdict: Partly supported

This is a working test of someone else's published proposal. It is not peer reviewed, it is not medical or financial advice, and it does not establish that the proposal is true. Read the limits section before quoting the result.

Test of hypothesis 23, Volume II — "Floating-Point Error Has a Phase Transition" Published proposal: <https://incoprea.com/research-library/original-theories-vol2-20261030/> Test run: 30 October 2026 · Working result, not peer reviewed · AI-assisted

The result in one paragraph

The threshold is real, predictable, and exactly where the arithmetic says it should be — but it is not a catastrophe. Summing a decaying sequence in 200 random orders, every ordering returns the identical value up to a depth of 54 terms in 64-bit arithmetic and 25 terms in 32-bit. Beyond that depth the answers disagree, and the disagreement is one unit in the last place. The switch from "every run agrees" to "runs disagree" is a step, not a gradient, and it moves exactly 29 terms for every factor of 2^29 in precision — 29 terms between binary64 and binary32, 58 between the repetitions that halve the decay rate, and so on (Table 1). What does not follow from depth is magnitude. Catastrophic error appears at a condition number near 1.6/ε, and at fixed condition number depth has no effect at all: a 101-term and a 10,001-term sum carry the same 2% relative error. Reproducibility is a threshold property, as the proposal claims. Catastrophe is a conditioning property, which the proposal conflates with it.

What was tested

The proposal makes three predictions. They were fixed before the first run (hypothesis.md):

The test sequence is v<sub>i</sub> = 2<sup>−⌊i/k⌋</sup> for k ∈ {1, 2, 4, 8, 16}, so the total is ≈ 2k and every partial sum below the threshold is exactly representable. That matters: if the data carry their own rounding from the first term, "the threshold" is not separable from ordinary rounding noise. With exactly representable data the only thing that can break determinism is absorption — a term smaller than the running sum's last place.

For each depth, 200 random orderings were summed naively (left to right) and the number of distinct results was counted, in binary64 and in binary32. The exact sum was computed as a rational, so "error" is error against the true value, not against a rounded reference.

Table 1 — the threshold moves exactly where it is predicted to

151542225−29−29
21001054247−58−58
41962058089−116−116
8384401152169−232−232
16752785288321−464−464

Observed depth = predicted + 2k in every row, with no free parameter. The prediction comes from one line of arithmetic: a term is absorbed when 2<sup>−j</sup> < ε·(2k), so the first lost level is j\ = 52 − log₂(2k) and the first lost term index is k·j\. The offset 2k is round-to-nearest-even: a term of exactly half an ulp is absorbed without changing the sum, so disagreement needs the accumulated tail to exceed half an ulp, which takes two further levels.

P1: sharp, yes — catastrophic, no

The step in determinism is sharp: at 53 terms every one of 200 orderings returns the same number; at 55 terms they return two. The step in magnitude is one ulp. Mean relative error at the threshold is 4.1 × 10⁻¹⁷ in binary64, about 0.19 of a unit in the last place — ten times the median step elsewhere in the curve, but still one ulp. It does not grow into a catastrophe as depth increases; it saturates at the size of the lost tail.

Catastrophe needs cancellation, and cancellation is measured by the condition number κ = Σ|x|/|Σx|, not by depth. In a 1,001-term sum built from cancelling pairs plus a residual c, mean relative error rises from 2 × 10⁻¹¹ at κ = 1.5 × 10⁶ to 0.19 at κ = 1.5 × 10¹⁶, crossing 10% at κ ≈ 7.3 × 10¹⁵, which is 1.63/ε. Holding κ at 1.5 × 10¹⁵ while changing depth from 101 to 10,001 moves mean relative error from 0.021 to 0.016 — no depth effect (Table 2).

Table 2 — depth at fixed conditioning does nothing

1011.5 × 10¹⁵2.1 × 10⁻²
1,0011.5 × 10¹⁵2.1 × 10⁻²
10,0011.5 × 10¹⁵1.6 × 10⁻²

P2: supported, with a qualification that matters for practice

Below the threshold, 200 orderings give one answer. Above it they give two, differing by half an ulp (1.9999999999999998 vs 2.0 at 200 terms). That is reproducibility failing in the sense that matters for bitwise comparison, and it fails abruptly. It does not mean the simulation has gone wrong: both answers are correct to the last bit, and the spread never approaches the magnitude of the answer. Practitioners who see two different checksums above a known depth are seeing this, not divergence.

P3: strongly supported

The threshold is a closed-form function of precision and decay, and it tracks exactly: −29 terms per halving of the decay rate's exponent, and −29·k terms between binary64 and binary32. The proposal's "mixed precision shifts the threshold in a calculable way" is the best-supported part of it, and the calculation is a one-liner to hand to a numerical library.

Limits

rounding from the first term and heavier-tailed magnitudes; the form of the threshold should survive, the exact constants will not.

Pairwise or Kahan summation change the constants, not the mechanism.

mechanism from plain absorption. Simple absorption predicts every number here, so the stronger mechanism is not needed — and not supported.

ordering could disagree slightly below the reported depth.

What would change the answer

A data set with realistic magnitudes and cancellation showing a magnitude threshold at fixed condition number would restore the catastrophe claim. We looked for it in the natural place — depth at fixed conditioning — and it is not there.

Files

run.py (reproduces everything) · results.json · data/ · figures/ · hypothesis.md (pre-specified criteria) · SOURCE.md (environment, hashes)

Figures

Distinct results across 200 random orderings, against the number of terms. Below the step every ordering returns the identical number; above it they do not.
Distinct results across 200 random orderings, against the number of terms. Below the step every ordering returns the identical number; above it they do not.
Predicted threshold against observed, for five decay regimes. Observed depth exceeds prediction by exactly 2k terms in every case.
Predicted threshold against observed, for five decay regimes. Observed depth exceeds prediction by exactly 2k terms in every case.
Relative error of a cancelling sum against its condition number. Catastrophe tracks conditioning, not depth.
Relative error of a cancelling sum against its condition number. Catastrophe tracks conditioning, not depth.