Home Developers CVP Evidence Reproduce

CVP reproduce

mechanical.statics.overhang_arm_at_deflection

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-27.o2-o3
Oracle
O3 · mpmath 1.4.1 · 80 dps
Generator
overhang-arm-at-mpmath-o3 · seed 20260927.overhang-arm-at-o3
Table SHA-256
8b7db61dbf6b2a78301f4c76ac8872beb33a62650d1b9475b99c4fcc097b249d

Numerical claim

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

O2: delta vs a separate-module identity (≤2 ULP). Not tip-only under the same overhang load, and not the span station curve. ≤2 ULP vs O3 applies only to the published tabulated overhang-arm-at vectors.

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

Re-running the generator without changing seed or inputs should reproduce table SHA-256 8b7db61dbf6b2a78301f4c76ac8872beb33a62650d1b9475b99c4fcc097b249d. 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-checkcheck{"P":"48","a":"1","z":"1","L":"2","E":"1","I":"1"}{"oracle_layer":"analytic","delta":48,"P":48,"a":1,"z":1,"L":2,"E":1,"I":1}{"model":"overhang_arm_at_deflection","P":48,"a":1,"z":1,"L":2,"E":1,"I":1,"delta":48,"solver":"overhang arm at a station","convention":"z is measured from the right support out to the load. δ = P a L z/(3 E I) + P z² (3a − z)/(6 E I). z = a is the load page."}0PASS
o3-SISI{"P":"1000","a":"1","z":"1","L":"2","E":"200000000000","I":"0.00001"}{"oracle_layer":"analytic","delta":0.0005,"P":1000,"a":1,"z":1,"L":2,"E":200000000000,"I":0.00001}{"model":"overhang_arm_at_deflection","P":1000,"a":1,"z":1,"L":2,"E":200000000000,"I":0.00001,"delta":0.0004999999999999999,"solver":"overhang arm at a station","convention":"z is measured from the right support out to the load. δ = P a L z/(3 E I) + P z² (3a − z)/(6 E I). z = a is the load page."}1PASS
o3-aliasalias{"load":"96","span":"2","modulus":"1","Ix":"1","overhang":"1","z":"1"}{"oracle_layer":"analytic","delta":96,"P":96,"a":1,"z":1,"L":2,"E":1,"I":1}{"model":"overhang_arm_at_deflection","P":96,"a":1,"z":1,"L":2,"E":1,"I":1,"delta":96,"solver":"overhang arm at a station","convention":"z is measured from the right support out to the load. δ = P a L z/(3 E I) + P z² (3a − z)/(6 E I). z = a is the load page."}0PASS
o3-awkwardawkward{"P":"13.7","a":"1.2","z":"0.8","L":"2","E":"210000","I":"0.83"}{"oracle_layer":"analytic","delta":0.00007377930770701856,"P":13.7,"a":1.2,"z":0.8,"L":2,"E":210000,"I":0.83}{"model":"overhang_arm_at_deflection","P":13.7,"a":1.2,"z":0.8,"L":2,"E":210000,"I":0.83,"delta":0.00007377930770701856,"solver":"overhang arm at a station","convention":"z is measured from the right support out to the load. δ = P a L z/(3 E I) + P z² (3a − z)/(6 E I). z = a is the load page."}0PASS
o3-negsigned{"P":"-48","a":"1","z":"1","L":"2","E":"1","I":"1"}{"oracle_layer":"analytic","delta":-48,"P":-48,"a":1,"z":1,"L":2,"E":1,"I":1}{"model":"overhang_arm_at_deflection","P":-48,"a":1,"z":1,"L":2,"E":1,"I":1,"delta":-48,"solver":"overhang arm at a station","convention":"z is measured from the right support out to the load. δ = P a L z/(3 E I) + P z² (3a − z)/(6 E I). z = a is the load page."}0PASS
o3-smallsmall{"P":"10","a":"0.5","z":"0.5","L":"2","E":"1000","I":"0.01"}{"oracle_layer":"analytic","delta":0.20833333333333334,"P":10,"a":0.5,"z":0.5,"L":2,"E":1000,"I":0.01}{"model":"overhang_arm_at_deflection","P":10,"a":0.5,"z":0.5,"L":2,"E":1000,"I":0.01,"delta":0.20833333333333331,"solver":"overhang arm at a station","convention":"z is measured from the right support out to the load. δ = P a L z/(3 E I) + P z² (3a − z)/(6 E I). z = a is the load page."}1PASS
o3-stiffstiff{"P":"500","a":"1","z":"1","L":"2","E":"210e9","I":"2e-4"}{"oracle_layer":"analytic","delta":0.000011904761904761905,"P":500,"a":1,"z":1,"L":2,"E":210000000000,"I":0.0002}{"model":"overhang_arm_at_deflection","P":500,"a":1,"z":1,"L":2,"E":210000000000,"I":0.0002,"delta":0.000011904761904761903,"solver":"overhang arm at a station","convention":"z is measured from the right support out to the load. δ = P a L z/(3 E I) + P z² (3a − z)/(6 E I). z = a is the load page."}1PASS
o3-longlong{"P":"200","a":"1","z":"1","L":"4","E":"70e9","I":"5e-5"}{"oracle_layer":"analytic","delta":0.00009523809523809524,"P":200,"a":1,"z":1,"L":4,"E":70000000000,"I":0.00005}{"model":"overhang_arm_at_deflection","P":200,"a":1,"z":1,"L":4,"E":70000000000,"I":0.00005,"delta":0.00009523809523809523,"solver":"overhang arm at a station","convention":"z is measured from the right support out to the load. δ = P a L z/(3 E I) + P z² (3a − z)/(6 E I). z = a is the load page."}1PASS