Home Developers CVP Evidence Reproduce

CVP reproduce

mechanical.statics.triangular_load_max_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
triangular-load-maximum-mpmath-o3 · seed 20260927.triangular-load-maximum-o3
Table SHA-256
d45d14c2d2706f33abe423b77f5636feb13e52cb3f371ec0a9e930c9770f941a

Numerical claim

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

O2: delta vs a separate-module identity (≤2 ULP). Not midspan under the same triangle, and not a station curve. ≤2 ULP vs O3 applies only to the published tabulated triangular-load-maximum 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-triangular-load-maximum-o3.py after downloading the public generator next to the table
Repo maintainer path
python3 scripts/lib/cvp/oracles/generate-triangular-load-maximum-o3.py
Independent REST check
Compare POST /api/v1/calc/triangular-load-maximum against /developers/cvp/reproduce/triangular-load-maximum-o3-tables.json after downloading check-math-o3-rest.py next to triangular-load-maximum-o3-tables.json (or pass --reproduce reproduce.json)
Re-run CVP
npm run cvp:run -- --capability mechanical.statics.triangular_load_max_deflection
REST check
POST https://www.calculatorx.com/api/v1/calc/triangular-load-maximum with a tabulated input from the table below

Re-running the generator without changing seed or inputs should reproduce table SHA-256 d45d14c2d2706f33abe423b77f5636feb13e52cb3f371ec0a9e930c9770f941a. 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{"w0":"24","L":"2","E":"1","I":"1"}{"oracle_layer":"analytic","delta":2.504518745057035,"x":1.0386592447184564,"w0":24,"L":2,"E":1,"I":1}{"model":"triangular_load_max_deflection","w0":24,"L":2,"E":1,"I":1,"x":1.0386592447184564,"delta":2.5045187450570356,"solver":"simply supported triangular load maximum","convention":"Simply supported span. Intensity is 0 at the left support and w0 at the right. The largest deflection is δ = w0 L⁴ √(1−√(8/15)) (2+5√(8/15)) / (450 E I), at x = L √(1−√(8/15)) from the unloaded end. I is an input. The midspan value is its own page."}1PASS
o3-SISI{"w0":"1000","L":"2","E":"200000000000","I":"0.00001"}{"oracle_layer":"analytic","delta":0.0000521774738553549,"x":1.0386592447184564,"w0":1000,"L":2,"E":200000000000,"I":0.00001}{"model":"triangular_load_max_deflection","w0":1000,"L":2,"E":200000000000,"I":0.00001,"x":1.0386592447184564,"delta":0.000052177473855354896,"solver":"simply supported triangular load maximum","convention":"Simply supported span. Intensity is 0 at the left support and w0 at the right. The largest deflection is δ = w0 L⁴ √(1−√(8/15)) (2+5√(8/15)) / (450 E I), at x = L √(1−√(8/15)) from the unloaded end. I is an input. The midspan value is its own page."}1PASS
o3-aliasalias{"w":"48","span":"2","modulus":"1","Ix":"1"}{"oracle_layer":"analytic","delta":5.00903749011407,"x":1.0386592447184564,"w0":48,"L":2,"E":1,"I":1}{"model":"triangular_load_max_deflection","w0":48,"L":2,"E":1,"I":1,"x":1.0386592447184564,"delta":5.009037490114071,"solver":"simply supported triangular load maximum","convention":"Simply supported span. Intensity is 0 at the left support and w0 at the right. The largest deflection is δ = w0 L⁴ √(1−√(8/15)) (2+5√(8/15)) / (450 E I), at x = L √(1−√(8/15)) from the unloaded end. I is an input. The midspan value is its own page."}1PASS
o3-awkwardawkward{"w0":"13.7","L":"2","E":"210000","I":"0.83"}{"oracle_layer":"analytic","delta":0.000008202310864238235,"x":1.0386592447184564,"w0":13.7,"L":2,"E":210000,"I":0.83}{"model":"triangular_load_max_deflection","w0":13.7,"L":2,"E":210000,"I":0.83,"x":1.0386592447184564,"delta":0.000008202310864238235,"solver":"simply supported triangular load maximum","convention":"Simply supported span. Intensity is 0 at the left support and w0 at the right. The largest deflection is δ = w0 L⁴ √(1−√(8/15)) (2+5√(8/15)) / (450 E I), at x = L √(1−√(8/15)) from the unloaded end. I is an input. The midspan value is its own page."}0PASS
o3-negsigned{"w0":"-24","L":"2","E":"1","I":"1"}{"oracle_layer":"analytic","delta":-2.504518745057035,"x":1.0386592447184564,"w0":-24,"L":2,"E":1,"I":1}{"model":"triangular_load_max_deflection","w0":-24,"L":2,"E":1,"I":1,"x":1.0386592447184564,"delta":-2.5045187450570356,"solver":"simply supported triangular load maximum","convention":"Simply supported span. Intensity is 0 at the left support and w0 at the right. The largest deflection is δ = w0 L⁴ √(1−√(8/15)) (2+5√(8/15)) / (450 E I), at x = L √(1−√(8/15)) from the unloaded end. I is an input. The midspan value is its own page."}1PASS
o3-smallsmall{"w0":"10","L":"2","E":"1000","I":"0.01"}{"oracle_layer":"analytic","delta":0.1043549477107098,"x":1.0386592447184564,"w0":10,"L":2,"E":1000,"I":0.01}{"model":"triangular_load_max_deflection","w0":10,"L":2,"E":1000,"I":0.01,"x":1.0386592447184564,"delta":0.1043549477107098,"solver":"simply supported triangular load maximum","convention":"Simply supported span. Intensity is 0 at the left support and w0 at the right. The largest deflection is δ = w0 L⁴ √(1−√(8/15)) (2+5√(8/15)) / (450 E I), at x = L √(1−√(8/15)) from the unloaded end. I is an input. The midspan value is its own page."}0PASS
o3-stiffstiff{"w0":"500","L":"2","E":"210e9","I":"2e-4"}{"oracle_layer":"analytic","delta":0.0000012423208060798786,"x":1.0386592447184564,"w0":500,"L":2,"E":210000000000,"I":0.0002}{"model":"triangular_load_max_deflection","w0":500,"L":2,"E":210000000000,"I":0.0002,"x":1.0386592447184564,"delta":0.0000012423208060798786,"solver":"simply supported triangular load maximum","convention":"Simply supported span. Intensity is 0 at the left support and w0 at the right. The largest deflection is δ = w0 L⁴ √(1−√(8/15)) (2+5√(8/15)) / (450 E I), at x = L √(1−√(8/15)) from the unloaded end. I is an input. The midspan value is its own page."}0PASS
o3-longlong{"w0":"200","L":"4","E":"70e9","I":"5e-5"}{"oracle_layer":"analytic","delta":0.00009541023790693468,"x":2.0773184894369128,"w0":200,"L":4,"E":70000000000,"I":0.00005}{"model":"triangular_load_max_deflection","w0":200,"L":4,"E":70000000000,"I":0.00005,"x":2.0773184894369128,"delta":0.00009541023790693468,"solver":"simply supported triangular load maximum","convention":"Simply supported span. Intensity is 0 at the left support and w0 at the right. The largest deflection is δ = w0 L⁴ √(1−√(8/15)) (2+5√(8/15)) / (450 E I), at x = L √(1−√(8/15)) from the unloaded end. I is an input. The midspan value is its own page."}0PASS