Home Developers CVP Evidence Reproduce

CVP reproduce

engineering.uncertainty.tur

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.”

Identity

Calculation version, protocol version, and evidence revision are distinct.

Calculation version
1.0.1
CVP protocol
1.0.0-proposed · proposed
Evidence revision
2026-09-23.o2-o3
Oracle
O3 · mpmath 1.4.1 · 80 dps
Generator
tur-mpmath-o3 · seed 20260923.tur-o3
Table SHA-256
71c97eec7d89476da75fd8e257bda368519bbc2fe7605e74622e18ce663ec48c

Numerical claim

O3 PASS is a tabulated-vector claim, not a whole-domain proof.

O2: ANSI/NCSL Z540.3 two-sided TUR = span/(2U) vs a separate-module identity (≤2 ULP). Not a TUR≥4 verdict, not a guard band, and not U = k·u_c. ≤2 ULP vs O3 applies only to the published tabulated Z540.3 vectors (limits, span, half-width, aliases, and one awkward span). It is not a whole-domain guarantee and does not cover a TUR≥4 verdict, a guard band, or U = k·u_c.

  • Last O3 run 8 / 8
  • Max error observed 1 ULP
  • Threshold ≤ 2 ULP

Commands

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.

Regenerate O3 table
python3 generate-tur-o3.py after downloading the public generator next to the table
Repo maintainer path
python3 scripts/lib/cvp/oracles/generate-tur-o3.py
Independent REST check
Compare POST /api/v1/calc/tur against /developers/cvp/reproduce/tur-o3-tables.json after downloading check-math-o3-rest.py next to tur-o3-tables.json (or pass --reproduce reproduce.json)
Re-run CVP
npm run cvp:run -- --capability engineering.uncertainty.tur
REST check
POST https://www.calculatorx.com/api/v1/calc/tur with a tabulated input from the table below

Re-running the generator without changing seed or inputs should reproduce table SHA-256 71c97eec7d89476da75fd8e257bda368519bbc2fe7605e74622e18ce663ec48c. Compare each expected_f64 to the production result within the declared ULP threshold.

Tabulated vectors

Every O3 vector used for the ≤2 ULP claim. Expected values come from the published mpmath table, not from the implementation under test.

IDKindInputsExpected (f64)ActualULPStatus
o3-limitslimits{"U":1,"lsl":0,"usl":5}{"oracle_layer":"analytic","TUR":2.5,"T":5,"U":1}{"TUR":2.5,"T":5,"U":1,"lsl":0,"usl":5}0PASS
o3-spanspan{"U":0.5,"T":4}{"oracle_layer":"analytic","TUR":4,"T":4,"U":0.5}{"TUR":4,"T":4,"U":0.5}0PASS
o3-tolhalf{"U":0.5,"tol":2}{"oracle_layer":"analytic","TUR":4,"T":4,"U":0.5}{"TUR":4,"T":4,"U":0.5,"tol":2}0PASS
o3-aliasalias{"U_exp":1,"LSL":-1,"USL":3}{"oracle_layer":"analytic","TUR":2,"T":4,"U":1}{"TUR":2,"T":4,"U":1,"lsl":-1,"usl":3}0PASS
o3-span-aliasalias{"span":8,"U":2}{"oracle_layer":"analytic","TUR":2,"T":8,"U":2}{"TUR":2,"T":8,"U":2}0PASS
o3-halfhalf{"U":0.25,"tol":1}{"oracle_layer":"analytic","TUR":4,"T":2,"U":0.25}{"TUR":4,"T":2,"U":0.25,"tol":1}0PASS
o3-widelimits{"U":1,"lsl":-10,"usl":10}{"oracle_layer":"analytic","TUR":10,"T":20,"U":1}{"TUR":10,"T":20,"U":1,"lsl":-10,"usl":10}0PASS
o3-awkwardlimits{"U":0.15,"lsl":1.1,"usl":3.4}{"oracle_layer":"analytic","TUR":7.666666666666667,"T":2.3,"U":0.15}{"TUR":7.666666666666666,"T":2.3,"U":0.15,"lsl":1.1,"usl":3.4}1PASS