Coherence Energy Labs

Coherence Compute - exact on every machine

The same program. Your CPU and your GPU. To the last bit.

Run the same math on two different machines and you usually get almost the same answer - floating-point rounds a hair differently on every chip, which is the “it worked on my machine” bug. So we don’t use floating point for the decision. This is a real physical field (a fixed-point reaction-diffusion PDE) computed in exact integer math on your CPU and your GPU at the same time - and the two results come out bit-for-bit identical: same pixels, same SHA-256, zero difference. Then flip one bit and watch the proof catch it.

What this is: the same integer kernel, run twice - once in JavaScript on your CPU, once as a WebGPU i32 compute shader on your GPU - hashed with SHA-256 and compared. Integer +, *, and arithmetic-shift >> are defined identically on both, so the result is exact by construction (the same kernel also compiles to WebAssembly, identical). What it is not: a floating-point demo - float is exactly what drifts, and that is the point.
Your CPU idle
awaiting run
Your GPU idle
awaiting run
Press “Run the proof” below.
checking WebGPU…
Difference (CPU vs GPU)
-
0 = every pixel identical
Agreement
-
ULP = units in the last place
Same SHA-256?
-
two machines, one fingerprint
Field size
96×96
80 fixed-point PDE steps

Why integer, and why it matters

A decision you can re-run anywhere and get the same answer is a decision you can sign, audit, and trust. Floating point can’t give you that across machines - the order of operations, fused multiply-adds, and rounding differ per chip. Integer and fixed-point math have no rounding: a*b and a>>n mean the exact same thing on a CPU, in WebAssembly, and on a GPU. That is why every provable decision in the Coherence stack runs on the integer path - this page is the smallest honest proof of it.

Honest scope. This proves the integer path is bit-identical across your CPU and GPU (0 ULP, same hash). Floating-point work agrees only to the single-precision floor - which is exactly why the decisions ride on integers, not floats.

The real thing. This is the same fixed-point kernel and the same WebGPU i32 compute path used in the Coherence Compute engine, where the browser result is verified bit-identical to the native C++ and Python reference implementations, not just to itself. Nothing here is pre-recorded: the field is computed live on your two processors when you press the button.