Home Developers CVP Evidence Reproduce

CVP reproduce

engineering.uncertainty.type_b_nu

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.0
CVP protocol
1.0.0-proposed · proposed
Evidence revision
2026-09-16.o2-o3
Oracle
O3 · mpmath 1.4.1 · 80 dps
Generator
type-b-nu-mpmath-o3 · seed 20260916.type-b-nu-o3
Table SHA-256
5df02b81ce3ba86dff9a8c8250667e83c67340870bd77a6a28eddfc632cfda7a

Numerical claim

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

O2: GUM G.4.2 ν = ½(u/σ(u))² vs separate-module identities (≤2 ULP). Not Type B u_B, not Welch ν_eff, not U=k·u_c. ≤2 ULP vs O3 applies only to the published tabulated G.4.2 vectors (GUM 25%, infinite, 10%, aliases, scale, σ(u)/u=0.5). It is not a whole-domain guarantee and does not cover Welch ν_eff 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-type-b-nu-o3.py after downloading the public generator next to the table
Repo maintainer path
python3 scripts/lib/cvp/oracles/generate-type-b-nu-o3.py
Independent REST check
Compare POST /api/v1/calc/type-b-nu against /developers/cvp/reproduce/type-b-nu-o3-tables.json after downloading check-math-o3-rest.py next to type-b-nu-o3-tables.json (or pass --reproduce reproduce.json)
Re-run CVP
npm run cvp:run -- --capability engineering.uncertainty.type_b_nu
REST check
POST https://www.calculatorx.com/api/v1/calc/type-b-nu with a tabulated input from the table below

Re-running the generator without changing seed or inputs should reproduce table SHA-256 5df02b81ce3ba86dff9a8c8250667e83c67340870bd77a6a28eddfc632cfda7a. 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-gum25finite{"u":2,"sigma_u":0.5}{"oracle_layer":"analytic","infinite":false,"nu":8,"rel":0.25}{"nu":8,"rel":0.25,"u":2,"sigma_u":0.5,"infinite":false}0PASS
o3-infinfinite{"u":1,"sigma_u":0}{"oracle_layer":"analytic","infinite":true,"nu":null,"rel":0}{"nu":null,"rel":0,"u":1,"sigma_u":0,"infinite":true}0PASS
o3-10pctfinite{"u":1,"sigma_u":0.1}{"oracle_layer":"analytic","infinite":false,"nu":50,"rel":0.1}{"nu":49.99999999999999,"rel":0.1,"u":1,"sigma_u":0.1,"infinite":false}1PASS
o3-aliasalias{"u_B":2,"su":0.5}{"oracle_layer":"analytic","infinite":false,"nu":8,"rel":0.25}{"nu":8,"rel":0.25,"u":2,"sigma_u":0.5,"infinite":false}0PASS
o3-scalefinite{"u":4,"sigma_u":1}{"oracle_layer":"analytic","infinite":false,"nu":8,"rel":0.25}{"nu":8,"rel":0.25,"u":4,"sigma_u":1,"infinite":false}0PASS
o3-halffinite{"u":2,"sigma_u":1}{"oracle_layer":"analytic","infinite":false,"nu":2,"rel":0.5}{"nu":2,"rel":0.5,"u":2,"sigma_u":1,"infinite":false}0PASS
o3-uialias{"u_i":2,"delta_u":0.5}{"oracle_layer":"analytic","infinite":false,"nu":8,"rel":0.25}{"nu":8,"rel":0.25,"u":2,"sigma_u":0.5,"infinite":false}0PASS
o3-tightfinite{"u":10,"sigma_u":0.05}{"oracle_layer":"analytic","infinite":false,"nu":20000,"rel":0.005}{"nu":20000,"rel":0.005,"u":10,"sigma_u":0.05,"infinite":false}0PASS