CVP reproduce
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.”
Calculation version, protocol version, and evidence revision are distinct.
O3 PASS is a tabulated-vector claim, not a whole-domain proof.
≤2 ULP vs O3 applies to the 18 published tabulated vectors (common angles 0°…180° plus 8 seeded random angles in (−50°, 50°)). It is not a guarantee over the entire real line, including huge angles or unlisted neighborhoods of zeros.
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.
Re-running the generator without changing seed or inputs should reproduce table SHA-256 efdad939a92a67df1f3995db36c52bb87f428a59fc73568f789c02540f4372ee. Compare each expected_f64 to the production result within the declared ULP threshold.
Every O3 vector used for the ≤2 ULP claim. Expected values come from the published mpmath table, not from the implementation under test.
| ID | Kind | Inputs | Expected (f64) | Actual | ULP | Status |
|---|---|---|---|---|---|---|
o3-sin-0 | angle | {"theta":0,"unit":"deg"} | 0 0.0 | 0 | 0 | PASS |
o3-sin-30 | angle | {"theta":30,"unit":"deg"} | 0.5 0.5000000000000000000000000000000000000000 | 0.5 | 0 | PASS |
o3-sin-45 | angle | {"theta":45,"unit":"deg"} | 0.7071067811865476 0.7071067811865475244008443621048490392848 | 0.7071067811865476 | 0 | PASS |
o3-sin-60 | angle | {"theta":60,"unit":"deg"} | 0.8660254037844386 0.8660254037844386467637231707529361834714 | 0.8660254037844386 | 0 | PASS |
o3-sin-90 | angle | {"theta":90,"unit":"deg"} | 1 1.000000000000000000000000000000000000000 | 1 | 0 | PASS |
o3-sin-180 | angle | {"theta":180,"unit":"deg"} | 0 0.0 | 0 | 0 | PASS |
o3-sin-33.3 | angle | {"theta":33.3,"unit":"deg"} | 0.5490228179981317 0.5490228179981317020573893264846730203889 | 0.5490228179981317 | 0 | PASS |
o3-sin-12.5 | angle | {"theta":12.5,"unit":"deg"} | 0.21643961393810288 0.2164396139381028797595536696179407286734 | 0.21643961393810288 | 0 | PASS |
o3-sin--30 | angle | {"theta":-30,"unit":"deg"} | -0.5 -0.5000000000000000000000000000000000000000 | -0.5 | 0 | PASS |
o3-sin-15 | angle | {"theta":15,"unit":"deg"} | 0.25881904510252074 0.2588190451025207623488988376240483283491 | 0.25881904510252074 | 0 | PASS |
o3-sin-rand-00 | random-interior | {"theta":-9.598528663627803,"unit":"deg"} | -0.16674342661408253 -0.1667434266140825400165235493924631897422 | -0.16674342661408253 | 0 | PASS |
o3-sin-rand-01 | random-interior | {"theta":32.682972215116024,"unit":"deg"} | 0.5399902072681445 0.5399902072681445090193751406915325740786 | 0.5399902072681444 | 1 | PASS |
o3-sin-rand-02 | random-interior | {"theta":47.93316328432411,"unit":"deg"} | 0.7423637652930208 0.7423637652930208699180874271455931674612 | 0.7423637652930208 | 0 | PASS |
o3-sin-rand-03 | random-interior | {"theta":-27.777363127097487,"unit":"deg"} | -0.4660371166518522 -0.4660371166518522197866704209282503599691 | -0.4660371166518522 | 0 | PASS |
o3-sin-rand-04 | random-interior | {"theta":8.247665339149535,"unit":"deg"} | 0.1434522960336174 0.1434522960336173950259165395225344990107 | 0.1434522960336174 | 0 | PASS |
o3-sin-rand-05 | random-interior | {"theta":-31.244554836302996,"unit":"deg"} | -0.5186920083835915 -0.5186920083835914760820430319334533766172 | -0.5186920083835914 | 1 | PASS |
o3-sin-rand-06 | random-interior | {"theta":-19.03209995944053,"unit":"deg"} | -0.3260978300997276 -0.3260978300997275695045617815597839966177 | -0.32609783009972754 | 1 | PASS |
o3-sin-rand-07 | random-interior | {"theta":17.42180953733623,"unit":"deg"} | 0.2994040004795209 0.2994040004795209001749731976252296054391 | 0.29940400047952087 | 1 | PASS |