CVP reproduce
Independent re-run pack: fixed input vectors, O3 expected values, oracle version, commands, and the last result summary. This is how a reader moves from “CalculatorX says it passed” to “I can reproduce why it passed.”
Calculation version, protocol version, and evidence revision are distinct.
O3 PASS is a tabulated-vector claim, not a whole-domain proof.
O2: AIAG GRR/TV/%GRR/ndc and range EV=R̄/d2 vs separate-module identities (≤2 ULP). Not full ANOVA, not %tolerance vs spec, not Cg. ≤2 ULP vs O3 applies only to the published tabulated GRR vectors (stated EV, range EV, custom d2, AV=0, PV=0, aliases, scale). It is not a whole-domain guarantee and does not cover full ANOVA or %tolerance vs spec.
Regenerate the table from the public generator. Independent REST check needs only this page's reproduce.json plus stdlib Python — no repo clone and no mpmath. The CVP runner remains a maintainer command.
Re-running the generator without changing seed or inputs should reproduce table SHA-256 878b1cdff11ddcc0937242e0455d234efeae560b646c7c28ae3e4188c83df921. Compare each expected_f64 to the production result within the declared ULP threshold.
Every O3 vector used for the ≤2 ULP claim. Expected values come from the published mpmath table, not from the implementation under test.
| ID | Kind | Inputs | Expected (f64) | Actual | ULP | Status |
|---|---|---|---|---|---|---|
o3-3412 | stated-ev | {"ev":3,"av":4,"pv":12} | {"oracle_layer":"analytic","EV":3,"GRR":5,"TV":13,"pct_grr":38.46153846153846,"ndc":3.384} | {"EV":3,"AV":4,"PV":12,"GRR":5,"TV":13,"pct_grr":38.46153846153846,"ndc":3.3839999999999995} | 1 | PASS |
o3-range | range-ev | {"rbar":1.128,"av":4,"pv":12} | {"oracle_layer":"analytic","EV":1,"GRR":4.123105625617661,"TV":12.68857754044952,"pct_grr":32.494624495722555,"ndc":4.103702775614754} | {"EV":1,"AV":4,"PV":12,"GRR":4.123105625617661,"TV":12.688577540449518,"pct_grr":32.49462449572256,"ndc":4.103702775614753,"rbar":1.128,"d2":1.128} | 1 | PASS |
o3-d2 | custom-d2 | {"rbar":2.256,"d2":1.128,"av":4,"pv":12} | {"oracle_layer":"analytic","EV":2,"GRR":4.47213595499958,"TV":12.806248474865697,"pct_grr":34.92151478847891,"ndc":3.783427017929644} | {"EV":2,"AV":4,"PV":12,"GRR":4.47213595499958,"TV":12.806248474865697,"pct_grr":34.92151478847891,"ndc":3.7834270179296436,"rbar":2.256,"d2":1.128} | 1 | PASS |
o3-av0 | stated-ev | {"ev":3,"av":0,"pv":12} | {"oracle_layer":"analytic","EV":3,"GRR":3,"TV":12.36931687685298,"pct_grr":24.253562503633297,"ndc":5.64} | {"EV":3,"AV":0,"PV":12,"GRR":3,"TV":12.36931687685298,"pct_grr":24.253562503633297,"ndc":5.64} | 0 | PASS |
o3-pv0 | pv-zero | {"ev":5,"av":12,"pv":0} | {"oracle_layer":"analytic","EV":5,"GRR":13,"TV":13,"pct_grr":100,"ndc":0} | {"EV":5,"AV":12,"PV":0,"GRR":13,"TV":13,"pct_grr":100,"ndc":0} | 0 | PASS |
o3-alias | alias | {"EV":3,"AV":4,"PV":12} | {"oracle_layer":"analytic","EV":3,"GRR":5,"TV":13,"pct_grr":38.46153846153846,"ndc":3.384} | {"EV":3,"AV":4,"PV":12,"GRR":5,"TV":13,"pct_grr":38.46153846153846,"ndc":3.3839999999999995} | 1 | PASS |
o3-unit | stated-ev | {"ev":1,"av":0,"pv":1} | {"oracle_layer":"analytic","EV":1,"GRR":1,"TV":1.4142135623730951,"pct_grr":70.71067811865476,"ndc":1.41} | {"EV":1,"AV":0,"PV":1,"GRR":1,"TV":1.4142135623730951,"pct_grr":70.71067811865474,"ndc":1.41} | 1 | PASS |
o3-scale | stated-ev | {"ev":6,"av":8,"pv":24} | {"oracle_layer":"analytic","EV":6,"GRR":10,"TV":26,"pct_grr":38.46153846153846,"ndc":3.384} | {"EV":6,"AV":8,"PV":24,"GRR":10,"TV":26,"pct_grr":38.46153846153846,"ndc":3.3839999999999995} | 1 | PASS |