One input. Four builds. One answer.

Buildeigenvalueidenticaleigenvectoridenticaleigenpairidentical
x86_64GCC 13.3de83a41141e8dccc1bb3ba6f626baff2ea23b02abc1faf82
x86_64Clang 18.1de83a41141e8dccc1bb3ba6f626baff2ea23b02abc1faf82
aarch64GCC 13.3de83a41141e8dccc1bb3ba6f626baff2ea23b02abc1faf82
aarch64Clang 18.1de83a41141e8dccc1bb3ba6f626baff2ea23b02abc1faf82

96 records, zero mismatches

second_diff, N = 4,096. SHA-256 prefixes of the eigenvalue array, the sign-canonicalised eigenvector matrix, and the combined eigenpair. IEEE-754 tier, -ffp-contract=off. The comparison was executed on the ARM machine, not on the machine that produced the x86 results.

The axis that actually varies.

Reproducibility arguments get lost when the axes are not named. Here are the three that move in real deployments, and what each one does to a tuned BLAS.

The machine

A tuned BLAS selects kernels from what it finds at runtime — cache geometry, core count, microarchitecture. A newer chip generation in the same rack can take a different path through the same library and return a different low bit.

The instruction set

x86_64 and aarch64 do not share an FMA contraction story, and a library compiled to exploit each one will not agree with itself across the pair. This is why reproducibility modes are scoped to a single ISA family.

The BLAS implementation

The same LAPACK call served by netlib, OpenBLAS or MKL is three different computations. Swapping the library underneath an application is a routine operations decision and it silently changes the answer.

VVE removes all three at once, because it has no BLAS underneath to vary. The guarantee is structural rather than configured.

Measured at campaign scale.

8-way grid — PASS

96


SHA-256 records, 12 matrix/size groups, zero mismatches

x86_64 ≡ aarch64


identical across architecture

GCC ≡ Clang


identical across compiler

Twelve matrix and size groups, including odd-N wilkinson, hashed on every build in the grid and compared record by record. Ninety-six records, zero mismatches. The manifests are signed.

Across hardware generations.

Cell fingerprints identical across CPU generations

541


between Zen3 and Zen4/5 machines — different CPU generations, same bits — cell fingerprints identical

The full campaign was re-run end to end on an older machine generation. Wall clock moved, as it always does. Every one of the 541 cell fingerprints came back identical. This is the axis that matters to anyone whose validation evidence has to survive a hardware refresh.

Not a mode. A property.

Reproducibility features in tuned libraries are opt-in modes that cost performance and hold only inside a boundary — one instruction-set family, one dispatch path. They exist because the library is not reproducible by default, and they are the vendor's honest admission of it. VVE does not have a reproducible mode, because it does not have a non-reproducible one. There is no kernel selection to freeze and no dispatch table to pin.

Where each stack sits on the four axes VVE competes on.
StackSame bits across machine × ISA × BLAS
LAPACK + OpenBLASNo
Intel MKLConditional — CNR holds within one ISA family
Eigen (C++)No
ReproBLASKernels only
VVEYes — measured

Signed evidence.

The determinism manifests are signed with minisign. The public key ID is 7567EB6FD671C361; the private key never leaves the signing machine. Each manifest records the build, the platform, the matrix and size group, and the digests — enough to check a claim record by record rather than take the summary on trust.

Evaluation includes the signed manifests and the harness that produced them.

Request an evaluation →

What the guarantee covers.

Across runs
The same build on the same machine returns the same bits, every time.
Across compilers
GCC and Clang builds of the same source agree.
Across architectures
x86_64 and aarch64 agree, IEEE-754 tier.
Across hardware generations
Zen3 and Zen4/5 agree.

Bring us a matrix.

Tell us the spectra you actually run and the hardware you have to run them on. We send an evaluation build and the harness we measured with, so the first number you see is one you measured yourself.