Reproducible and bit-exact numerics
Why the same computation differs across machines and languages — and how to make it agree.
The same formula, run on two machines or in two languages, can produce different bits. Floating-point arithmetic is not associative, compilers reorder operations, and libraries evaluate transcendental functions differently. For scientific software this is a correctness problem: a result that cannot be reproduced exactly cannot be audited exactly.
The IEEE 754 standard defines the arithmetic every conforming backend must honour, and understanding where reproducibility breaks — rounding, fused operations, order of summation — is the first step to controlling it. Bit-for-bit agreement across implementations is achievable, but only when each backend is measured against a common reference rather than assumed equivalent.
The federation makes this concrete. The benchmark databank measures the same numerical kernels across five language backends on identical hardware, seals the result, and publishes the honest inversions — the cases where a supposedly faster backend is not, or where two backends diverge — rather than laundering them. The Monte-Carlo lesson runs a deterministic, fixed-seed computation the reader can reproduce exactly.
The vocabulary of the topic.
- IEEE 754
- The floating-point arithmetic standard a conforming backend must honour.
- Non-associativity
- Floating-point addition depends on order; reordering changes the last bits.
- Bit-exact parity
- Two implementations producing identical bits on the same inputs — the property the databank checks.
- Deterministic seed
- A fixed PRNG seed that makes a stochastic computation reproducible bit-for-bit.
Studios working on this.
Each runs standalone in its own repository and federates its evidence through the platform.
Run it, don't take it on faith.
The runnable lessons and sealed measurements this site ships for the topic.
Read it at source, in order.
Canonical references for the topic, ordered from the foundations to current work. Every one was verified at source — a DOI resolves through doi.org, a standard through its issuer — so each link goes to the real record.
Start with the foundations
- 1
Why the same formula gives different bits on different machines — the problem parity testing addresses.
The standards
- 2
The arithmetic contract every backend must honour for bit-for-bit agreement.
Related topics.
Where this topic connects to the rest of the federation's work.