Recovered model
State update kept- Returned value
- —
- State after the call · memory[0]
- —
- Increment · memory[1]
- —
A STATE TRANSITION LESSON
Drop one state update from a recovered PCG32 model. The first return still matches. Run the next call and see what that test missed.
Runs the exported C models in your browser. Fresh ARM64 recovery and solver queries require the local app.
memory[0] = x0Keep the initial state word. Leave the return expression and increment unchanged.Use decimal or hexadecimal unsigned 64-bit values. Applying them starts both models again at call one.
| Call | Recovered return | Edited return | Post-state |
|---|
WHAT THIS SHOWS
PCG32 computes its return from the old state, then stores the state for the next call. Dropping that store can pass a return-only test while changing what happens next.
Rewynth compares the return and every declared state word. The included solver record finds a difference in memory[0] while both immediate returns agree. This is our intentional edit, not a demonstrated bug in PCG.
The two modules are compiled from Rewynth’s actual recovered and edited C exports. The controls above run those models locally with exact 64-bit inputs. They do not execute the original ARM64 instructions or make a fresh solver query.
The recorded equality result applies to the implemented instruction model, declared two-word memory region and input domain. The finite native controls do not prove universal CPU equivalence or random-generator quality.