Home Developers CVP Evidence Reproduce

CVP reproduce

engineering.uncertainty.propagate

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.9.8
CVP protocol
1.0.0-proposed · proposed
Evidence revision
2026-09-16.seeded-mc-o3
Oracle
O3 · mpmath 1.4.1 · 80 dps
Generator
uncertainty-propagate-mpmath-o3 · seed 20260916.uncertainty-o3
Table SHA-256
95094ad76da02ed4ff37a340b783e761737d11005227b367c00f072bb5bb279f

Numerical claim

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

Published modes: linear GUM (sum, difference, product, quotient, RSS, sensitivity, budget) and seeded Monte Carlo replay of y_mean/u_c/percentiles. Not a full JCGM 101 validation procedure. RNG: mulberry32; normal sampler: Box-Muller. ≤2 ULP vs O3 applies only to the published tabulated linear GUM vectors (sum, difference, ρ=1 difference, product, quotient, RSS, sensitivity, 3×3 PSD, singular PSD, budget). It is not a whole-domain guarantee and does not cover Monte Carlo.

  • Last O3 run 10 / 10
  • Max error observed 2 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-uncertainty-propagate-o3.py after downloading the public generator next to the table
Repo maintainer path
python3 scripts/lib/cvp/oracles/generate-uncertainty-propagate-o3.py
Independent REST check
Compare POST /api/v1/calc/uncertainty-propagate against /developers/cvp/reproduce/uncertainty-propagate-o3-tables.json after downloading check-math-o3-rest.py next to uncertainty-propagate-o3-tables.json (or pass --reproduce reproduce.json)
Re-run CVP
npm run cvp:run -- --capability engineering.uncertainty.propagate
REST check
POST https://www.calculatorx.com/api/v1/calc/uncertainty-propagate with a tabulated input from the table below

Re-running the generator without changing seed or inputs should reproduce table SHA-256 95094ad76da02ed4ff37a340b783e761737d11005227b367c00f072bb5bb279f. 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-sumbinary-sum{"mode":"sum","a":100,"ua":0.1,"b":50,"ub":0.2}{"mode":"sum","u_c":0.22360679774997896,"y":150}{"mode":"sum","y":150,"u_c":0.223606797749979,"u_rel":0.00149071198499986,"a":100,"b":50,"ua":0.1,"ub":0.2,"rho":0,"nua":null,"nub":null,"unit":null,"unit_a":null,"unit_b":null,"contributions":[{"i":0,"label":"a","c":1,"u":0.1,"variance":0.010000000000000002,"percent":20,"type":null,"nu":null},{"i":1,"label":"b","c":1,"u":0.2,"variance":0.04000000000000001,"percent":80,"type":null,"nu":null}],"covariance_contributions":[],"largest":{"i":1,"label":"b","percent":80},"nu_eff":null,"nu_eff_infinite":false,"k":null,"U":null,"k_source":null,"confidence":null,"reported":{"u_c":0.22,"y":150,"significant_digits":2,"decimal_places":2,"formatted_u_c":"0.22","formatted_y":"150.00"}}1PASS
o3-differencebinary-difference{"mode":"difference","a":100,"ua":0.1,"b":50,"ub":0.2}{"mode":"difference","u_c":0.22360679774997896,"y":50}{"mode":"difference","y":50,"u_c":0.223606797749979,"u_rel":0.00447213595499958,"a":100,"b":50,"ua":0.1,"ub":0.2,"rho":0,"nua":null,"nub":null,"unit":null,"unit_a":null,"unit_b":null,"contributions":[{"i":0,"label":"a","c":1,"u":0.1,"variance":0.010000000000000002,"percent":20,"type":null,"nu":null},{"i":1,"label":"b","c":-1,"u":0.2,"variance":0.04000000000000001,"percent":80,"type":null,"nu":null}],"covariance_contributions":[],"largest":{"i":1,"label":"b","percent":80},"nu_eff":null,"nu_eff_infinite":false,"k":null,"U":null,"k_source":null,"confidence":null,"reported":{"u_c":0.22,"y":50,"significant_digits":2,"decimal_places":2,"formatted_u_c":"0.22","formatted_y":"50.00"}}1PASS
o3-difference-rho1binary-difference-rho1{"mode":"difference","a":100,"ua":0.1,"b":50,"ub":0.2,"rho":1}{"mode":"difference","u_c":0.1,"y":50}{"mode":"difference","y":50,"u_c":0.1,"u_rel":0.002,"a":100,"b":50,"ua":0.1,"ub":0.2,"rho":1,"nua":null,"nub":null,"unit":null,"unit_a":null,"unit_b":null,"contributions":[{"i":0,"label":"a","c":1,"u":0.1,"variance":0.010000000000000002,"percent":100,"type":null,"nu":null},{"i":1,"label":"b","c":-1,"u":0.2,"variance":0.04000000000000001,"percent":400,"type":null,"nu":null}],"covariance_contributions":[{"i":0,"j":1,"i_label":"a","j_label":"b","rho":1,"covariance":-0.04000000000000001,"percent":-400}],"largest":{"i":1,"label":"b","percent":400,"kind":"diagonal"},"nu_eff":null,"nu_eff_infinite":false,"k":null,"U":null,"k_source":null,"confidence":null,"reported":{"u_c":0.1,"y":50,"significant_digits":2,"decimal_places":2,"formatted_u_c":"0.10","formatted_y":"50.00"}}0PASS
o3-productbinary-product{"mode":"product","a":10,"ua":0.1,"b":5,"ub":0.05}{"mode":"product","u_c":0.7071067811865476,"y":50}{"mode":"product","y":50,"u_c":0.7071067811865476,"u_rel":0.01414213562373095,"a":10,"b":5,"ua":0.1,"ub":0.05,"rho":0,"nua":null,"nub":null,"unit":null,"unit_a":null,"unit_b":null,"contributions":[{"i":0,"label":"a","c":5,"u":0.1,"variance":0.25,"percent":49.999999999999986,"type":null,"nu":null},{"i":1,"label":"b","c":10,"u":0.05,"variance":0.25,"percent":49.999999999999986,"type":null,"nu":null}],"covariance_contributions":[],"largest":{"i":0,"label":"a","percent":49.999999999999986},"nu_eff":null,"nu_eff_infinite":false,"k":null,"U":null,"k_source":null,"confidence":null,"reported":{"u_c":0.71,"y":50,"significant_digits":2,"decimal_places":2,"formatted_u_c":"0.71","formatted_y":"50.00"}}0PASS
o3-quotientbinary-quotient{"mode":"quotient","a":10,"ua":0.1,"b":5,"ub":0.05}{"mode":"quotient","u_c":0.0282842712474619,"y":2}{"mode":"quotient","y":2,"u_c":0.02828427124746191,"u_rel":0.014142135623730954,"a":10,"b":5,"ua":0.1,"ub":0.05,"rho":0,"nua":null,"nub":null,"unit":null,"unit_a":null,"unit_b":null,"contributions":[{"i":0,"label":"a","c":0.2,"u":0.1,"variance":0.0004000000000000002,"percent":50.00000000000001,"type":null,"nu":null},{"i":1,"label":"b","c":-0.4,"u":0.05,"variance":0.0004000000000000002,"percent":50.00000000000001,"type":null,"nu":null}],"covariance_contributions":[],"largest":{"i":0,"label":"a","percent":50.00000000000001},"nu_eff":null,"nu_eff_infinite":false,"k":null,"U":null,"k_source":null,"confidence":null,"reported":{"u_c":0.028,"y":2,"significant_digits":2,"decimal_places":3,"formatted_u_c":"0.028","formatted_y":"2.000"}}2PASS
o3-rssrss{"mode":"rss","uncertainties":[0.3,0.4]}{"mode":"rss","u_c":0.5}{"mode":"rss","u_c":0.5,"y":null,"unit":null,"terms":2,"contributions":[{"i":0,"label":null,"c":1,"u":0.3,"variance":0.09,"percent":36,"type":null,"nu":null},{"i":1,"label":null,"c":1,"u":0.4,"variance":0.16000000000000003,"percent":64.00000000000001,"type":null,"nu":null}],"largest":{"i":1,"label":null,"percent":64.00000000000001},"nu_eff":null,"nu_eff_infinite":false,"k":null,"U":null,"k_source":null,"confidence":null,"reported":{"u_c":0.5,"y":null,"significant_digits":2,"decimal_places":2,"formatted_u_c":"0.50"}}0PASS
o3-senssensitivity{"mode":"sensitivity","coefficients":[2,3],"uncertainties":[0.1,0.2],"y":10}{"mode":"sensitivity","u_c":0.6324555320336759,"y":10}{"mode":"sensitivity","u_c":0.632455532033676,"u_rel":0.0632455532033676,"y":10,"unit":null,"terms":2,"correlations":[],"contributions":[{"i":0,"label":null,"c":2,"u":0.1,"variance":0.04000000000000001,"percent":9.999999999999998,"type":null,"nu":null},{"i":1,"label":null,"c":3,"u":0.2,"variance":0.3600000000000001,"percent":89.99999999999999,"type":null,"nu":null}],"covariance_contributions":[],"largest":{"i":1,"label":null,"percent":89.99999999999999},"nu_eff":null,"nu_eff_infinite":false,"k":null,"U":null,"k_source":null,"confidence":null,"reported":{"u_c":0.63,"y":10,"significant_digits":2,"decimal_places":2,"formatted_u_c":"0.63","formatted_y":"10.00"}}1PASS
o3-sens-psd-3x3sensitivity-psd{"mode":"sensitivity","coefficients":[1,1,1],"uncertainties":[0.1,0.1,0.1],"correlations":[{"i":0,"j":1,"rho":0.3},{"i":0,"j":2,"rho":0.2},{"i":1,"j":2,"rho":0.1}]}{"mode":"sensitivity","u_c":0.20493901531919198}{"mode":"sensitivity","u_c":0.20493901531919198,"u_rel":null,"y":null,"unit":null,"terms":3,"correlations":[{"i":0,"j":1,"rho":0.3},{"i":0,"j":2,"rho":0.2},{"i":1,"j":2,"rho":0.1}],"contributions":[{"i":0,"label":null,"c":1,"u":0.1,"variance":0.010000000000000002,"percent":23.809523809523814,"type":null,"nu":null},{"i":1,"label":null,"c":1,"u":0.1,"variance":0.010000000000000002,"percent":23.809523809523814,"type":null,"nu":null},{"i":2,"label":null,"c":1,"u":0.1,"variance":0.010000000000000002,"percent":23.809523809523814,"type":null,"nu":null}],"covariance_contributions":[{"i":0,"j":1,"i_label":null,"j_label":null,"rho":0.3,"covariance":0.006,"percent":14.285714285714285},{"i":0,"j":2,"i_label":null,"j_label":null,"rho":0.2,"covariance":0.004000000000000001,"percent":9.523809523809526},{"i":1,"j":2,"i_label":null,"j_label":null,"rho":0.1,"covariance":0.0020000000000000005,"percent":4.761904761904763}],"largest":{"i":0,"label":null,"percent":23.809523809523814,"kind":"diagonal"},"nu_eff":null,"nu_eff_infinite":false,"k":null,"U":null,"k_source":null,"confidence":null,"reported":{"u_c":0.2,"y":null,"significant_digits":2,"decimal_places":2,"formatted_u_c":"0.20"}}0PASS
o3-sens-singular-psdsensitivity-singular-psd{"mode":"sensitivity","coefficients":[1,1,1],"uncertainties":[0.1,0.1,0.1],"correlations":[{"i":0,"j":1,"rho":1},{"i":0,"j":2,"rho":1},{"i":1,"j":2,"rho":1}]}{"mode":"sensitivity","u_c":0.3}{"mode":"sensitivity","u_c":0.30000000000000004,"u_rel":null,"y":null,"unit":null,"terms":3,"correlations":[{"i":0,"j":1,"rho":1},{"i":0,"j":2,"rho":1},{"i":1,"j":2,"rho":1}],"contributions":[{"i":0,"label":null,"c":1,"u":0.1,"variance":0.010000000000000002,"percent":11.11111111111111,"type":null,"nu":null},{"i":1,"label":null,"c":1,"u":0.1,"variance":0.010000000000000002,"percent":11.11111111111111,"type":null,"nu":null},{"i":2,"label":null,"c":1,"u":0.1,"variance":0.010000000000000002,"percent":11.11111111111111,"type":null,"nu":null}],"covariance_contributions":[{"i":0,"j":1,"i_label":null,"j_label":null,"rho":1,"covariance":0.020000000000000004,"percent":22.22222222222222},{"i":0,"j":2,"i_label":null,"j_label":null,"rho":1,"covariance":0.020000000000000004,"percent":22.22222222222222},{"i":1,"j":2,"i_label":null,"j_label":null,"rho":1,"covariance":0.020000000000000004,"percent":22.22222222222222}],"largest":{"i":0,"label":null,"percent":11.11111111111111,"kind":"diagonal"},"nu_eff":null,"nu_eff_infinite":false,"k":null,"U":null,"k_source":null,"confidence":null,"reported":{"u_c":0.3,"y":null,"significant_digits":2,"decimal_places":2,"formatted_u_c":"0.30"}}1PASS
o3-budgetbudget{"mode":"budget","components":[{"name":"Vref","x":5,"u":0.002,"c":1},{"name":"drift","x":0,"u":0.001,"c":1}]}{"mode":"budget","u_c":0.00223606797749979,"y":5}{"mode":"budget","u_c":0.0022360679774997894,"u_rel":0.0004472135954999579,"y":5,"unit":null,"terms":2,"correlations":[],"contributions":[{"i":0,"label":"Vref","c":1,"u":0.002,"variance":0.000004,"percent":80.00000000000001,"type":null,"nu":null,"distribution":null,"x":5},{"i":1,"label":"drift","c":1,"u":0.001,"variance":0.000001,"percent":20.000000000000004,"type":null,"nu":null,"distribution":null,"x":0}],"covariance_contributions":[],"largest":{"i":0,"label":"Vref","percent":80.00000000000001},"components":[{"name":"Vref","u":0.002,"c":1,"type":null,"nu":null,"distribution":null,"x":5},{"name":"drift","u":0.001,"c":1,"type":null,"nu":null,"distribution":null,"x":0}],"nu_eff":null,"nu_eff_infinite":false,"k":null,"U":null,"k_source":null,"confidence":null,"reported":{"u_c":0.0022,"y":5,"significant_digits":2,"decimal_places":4,"formatted_u_c":"0.0022","formatted_y":"5.0000"}}1PASS