Tier 1: the utility routines
This page is generated.
cargo xtask validate --tiers 1,2,3 --smokewrote it from commitb6ef4ee-dirty. Every number on it was captured from that run's own output. To change what it says, change what the suite measures and run the command again.
TESUB1 (enthalpy), TESUB2 (temperature from enthalpy by Newton), TESUB3
(heat capacity) and TESUB4 (liquid density) are swept against the Fortran over
a simplex grid, a Dirichlet sample and a boundary pool, at every temperature in
the physical range, for each of the three ITY modes. PLAN.org sets the gate
at a maximum relative error below 1e-13, with a ULP histogram reported rather
than a verdict.
Reduced volume. This run passed --smoke, so the sweeps are the short ones the CI
gate uses rather than the full ones PLAN.org specifies. The case counts in the
tables below are what actually ran. Drop --smoke for the gate volume.
Produced with rustc 1.97.1 (8bab26f4f 2026-07-14), gfortran 15.2.0. The oracle's compiler flags are fixed in
crates/tepsim-oracle/build.rs and asserted by a test; changing them invalidates
every number on this page, which is why it is a logged re-baseline and not an edit.
What ran
2 test binaries: 7 test(s) passed, 0 failed, 0 ignored.
| target | libm | passed | failed | ignored |
|---|---|---|---|---|
tier1_enthalpy | vendored | 5 | 0 | 0 |
tier1_temperature | vendored | 2 | 0 | 0 |
Figures
tier1 TESUB1 ity=2, offset as f64, and nothing else. Any other dot crossing the line is a failure. The bit-equality half of the claim is falsified separately, by any dot leaving the = 0 lane under the platform libm, where the two sides call the same exp. Drawn by cargo xtask validate --tiers 1,2,3 --smoke at commit b6ef4ee-dirty; the measurement it repeats was first recorded in B-0009, B-0010 and B-0011 (LOG.org).cargo xtask validate --tiers 1,2,3 --smoke at commit b6ef4ee-dirty; the measurement it repeats was first recorded in B-0009, B-0010 and B-0011 (LOG.org).Measurements
15 block(s), lifted from the transcripts below. The columns are whatever fields the run printed, so a new field in the reporter becomes a new column here rather than data this page drops.
The test column matters as much as the numbers, because not every row is the port
being measured. Some tests deliberately mis-type a constant, or solve from the wrong
guess, to show what that would cost; a row from one of those is supposed to be
enormous, and its test name says so. The what column carries a tier1 prefix in
every tier, because it is the shared comparison reporter's own label rather than a
claim about which tier printed it.
| target | from test | what | cases | max rel err | max ulp | ulp percentiles | ulp histogram | non-finite | abandoned | round trip | elapsed | Fortran | port |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
tier1_enthalpy | reading_the_offset_as_double_precision_would_fail_the_gate_by_orders | tier1 TESUB1 ity=2, offset as f64 | 7950 | 1.597e-5 at grid#704 T=21.875 | 103098852352 at grid#704 T=21.875 | p50>=16 p90>=16 p99>=16 p100>=16 | >=16:7950 | 0 seen, 0 mismatched | |||||
tier1_enthalpy | tesub1_matches_the_fortran_over_the_full_sweep | tier1 TESUB1 ity=0 | 7950 | 0.000e0 at grid#0 T=0 | 0 at grid#0 T=0 | p50=0 p90=0 p99=0 p100=0 | 0:7950 | 0 seen, 0 mismatched [0.0 s] | |||||
tier1_enthalpy | tesub1_matches_the_fortran_over_the_full_sweep | tier1 TESUB1 ity=1 | 7950 | 0.000e0 at grid#0 T=0 | 0 at grid#0 T=0 | p50=0 p90=0 p99=0 p100=0 | 0:7950 | 0 seen, 0 mismatched [0.0 s] | |||||
tier1_enthalpy | tesub1_matches_the_fortran_over_the_full_sweep | tier1 TESUB1 ity=2 | 7950 | 0.000e0 at grid#0 T=0 | 0 at grid#0 T=0 | p50=0 p90=0 p99=0 p100=0 | 0:7950 | 0 seen, 0 mismatched [0.0 s] | |||||
tier1_enthalpy | tesub3_matches_the_fortran_over_the_full_sweep | tier1 TESUB3 ity=0 | 7950 | 0.000e0 at grid#0 T=0 | 0 at grid#0 T=0 | p50=0 p90=0 p99=0 p100=0 | 0:7950 | 0 seen, 0 mismatched [0.0 s] | |||||
tier1_enthalpy | tesub3_matches_the_fortran_over_the_full_sweep | tier1 TESUB3 ity=1 | 7950 | 0.000e0 at grid#0 T=0 | 0 at grid#0 T=0 | p50=0 p90=0 p99=0 p100=0 | 0:7950 | 0 seen, 0 mismatched [0.0 s] | |||||
tier1_enthalpy | tesub3_matches_the_fortran_over_the_full_sweep | tier1 TESUB3 ity=2 | 7950 | 0.000e0 at grid#0 T=0 | 0 at grid#0 T=0 | p50=0 p90=0 p99=0 p100=0 | 0:7950 | 0 seen, 0 mismatched [0.0 s] | |||||
tier1_enthalpy | tesub4_matches_the_fortran_over_the_full_sweep | tier1 TESUB4 | 7950 | 0.000e0 at grid#0 T=0 | 0 at grid#0 T=0 | p50=0 p90=0 p99=0 p100=0 | 0:7950 | 0 seen, 0 mismatched [0.0 s] | |||||
tier1_temperature | tesub2_matches_the_fortran_and_the_silent_failure_never_fires | tier1 TESUB2 ity=0 start=warm | 7950 | 0.000e0 at grid#0 T=0 | 0 at grid#0 T=0 | p50=0 p90=0 p99=0 p100=0 | 0:7950 | 0 seen, 0 mismatched | 0 (delta D-001) | max |solved - true| = 0e0 C | 0.0 s | ||
tier1_temperature | tesub2_matches_the_fortran_and_the_silent_failure_never_fires | tier1 TESUB2 ity=0 start=cold | 7950 | 0.000e0 at grid#0 T=0 | 0 at grid#0 T=0 | p50=0 p90=0 p99=0 p100=0 | 0:7950 | 0 seen, 0 mismatched | 0 (delta D-001) | max |solved - true| = 5.684341886080802e-14 C at grid#3637 T=131.25 | 0.0 s | ||
tier1_temperature | tesub2_matches_the_fortran_and_the_silent_failure_never_fires | tier1 TESUB2 ity=1 start=warm | 7950 | 0.000e0 at grid#0 T=0 | 0 at grid#0 T=0 | p50=0 p90=0 p99=0 p100=0 | 0:7950 | 0 seen, 0 mismatched | 0 (delta D-001) | max |solved - true| = 0e0 C | 0.0 s | ||
tier1_temperature | tesub2_matches_the_fortran_and_the_silent_failure_never_fires | tier1 TESUB2 ity=1 start=cold | 7950 | 0.000e0 at grid#0 T=0 | 0 at grid#0 T=0 | p50=0 p90=0 p99=0 p100=0 | 0:7950 | 0 seen, 0 mismatched | 0 (delta D-001) | max |solved - true| = 1.9895196601282805e-13 C at grid#4617 T=170 | 0.0 s | ||
tier1_temperature | tesub2_matches_the_fortran_and_the_silent_failure_never_fires | tier1 TESUB2 ity=2 start=warm | 7950 | 0.000e0 at grid#0 T=0 | 0 at grid#0 T=0 | p50=0 p90=0 p99=0 p100=0 | 0:7950 | 0 seen, 0 mismatched | 0 (delta D-001) | max |solved - true| = 0e0 C | 0.0 s | ||
tier1_temperature | tesub2_matches_the_fortran_and_the_silent_failure_never_fires | tier1 TESUB2 ity=2 start=cold | 7950 | 0.000e0 at grid#0 T=0 | 0 at grid#0 T=0 | p50=0 p90=0 p99=0 p100=0 | 0:7950 | 0 seen, 0 mismatched | 0 (delta D-001) | max |solved - true| = 5.115907697472721e-13 C at face#96 T=144.14305056234923 | 0.0 s | ||
tier1_temperature | the_fortran_silently_returns_the_guess_where_the_port_reports_failure | D-001 demonstrated: | returned 120.4 silently | Newton did not converge in 100 iterations from a guess of 120.4 C: reached -48598544002334720 C with a final step of 24299272000832196, which is not below 1e-12 |
Transcripts
Each block below is a test binary's own output, verbatim, with the command that produced it. The summary above is derived from these; they are not derived from it.
tier1_enthalpy, vendored libm
cargo test -p tepsim-oracle --features oracle --release --test tier1_enthalpy -- --nocapture --test-threads 1
running 5 tests
test both_routines_are_bit_identical_to_the_fortran ... sweep: SMOKE, 7950 cases. The 9987490-case gate is `cargo xtask validate --tiers 1`.
ok
test reading_the_offset_as_double_precision_would_fail_the_gate_by_orders ... tier1 TESUB1 ity=2, offset as f64
cases : 7950
max rel err : 1.597e-5 at grid#704 T=21.875
max ulp : 103098852352 at grid#704 T=21.875
ulp percentiles: p50>=16 p90>=16 p99>=16 p100>=16
ulp histogram : >=16:7950
non-finite : 0 seen, 0 mismatched
ok
test tesub1_matches_the_fortran_over_the_full_sweep ... sweep: SMOKE, 7950 cases. The 9987490-case gate is `cargo xtask validate --tiers 1`.
tier1 TESUB1 ity=0
cases : 7950
max rel err : 0.000e0 at grid#0 T=0
max ulp : 0 at grid#0 T=0
ulp percentiles: p50=0 p90=0 p99=0 p100=0
ulp histogram : 0:7950
non-finite : 0 seen, 0 mismatched [0.0 s]
tier1 TESUB1 ity=1
cases : 7950
max rel err : 0.000e0 at grid#0 T=0
max ulp : 0 at grid#0 T=0
ulp percentiles: p50=0 p90=0 p99=0 p100=0
ulp histogram : 0:7950
non-finite : 0 seen, 0 mismatched [0.0 s]
tier1 TESUB1 ity=2
cases : 7950
max rel err : 0.000e0 at grid#0 T=0
max ulp : 0 at grid#0 T=0
ulp percentiles: p50=0 p90=0 p99=0 p100=0
ulp histogram : 0:7950
non-finite : 0 seen, 0 mismatched [0.0 s]
ok
test tesub3_matches_the_fortran_over_the_full_sweep ... sweep: SMOKE, 7950 cases. The 9987490-case gate is `cargo xtask validate --tiers 1`.
tier1 TESUB3 ity=0
cases : 7950
max rel err : 0.000e0 at grid#0 T=0
max ulp : 0 at grid#0 T=0
ulp percentiles: p50=0 p90=0 p99=0 p100=0
ulp histogram : 0:7950
non-finite : 0 seen, 0 mismatched [0.0 s]
tier1 TESUB3 ity=1
cases : 7950
max rel err : 0.000e0 at grid#0 T=0
max ulp : 0 at grid#0 T=0
ulp percentiles: p50=0 p90=0 p99=0 p100=0
ulp histogram : 0:7950
non-finite : 0 seen, 0 mismatched [0.0 s]
tier1 TESUB3 ity=2
cases : 7950
max rel err : 0.000e0 at grid#0 T=0
max ulp : 0 at grid#0 T=0
ulp percentiles: p50=0 p90=0 p99=0 p100=0
ulp histogram : 0:7950
non-finite : 0 seen, 0 mismatched [0.0 s]
ok
test tesub4_matches_the_fortran_over_the_full_sweep ... sweep: SMOKE, 7950 cases. The 9987490-case gate is `cargo xtask validate --tiers 1`.
tier1 TESUB4
cases : 7950
max rel err : 0.000e0 at grid#0 T=0
max ulp : 0 at grid#0 T=0
ulp percentiles: p50=0 p90=0 p99=0 p100=0
ulp histogram : 0:7950
non-finite : 0 seen, 0 mismatched [0.0 s]
ok
test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
tier1_temperature, vendored libm
cargo test -p tepsim-oracle --features oracle --release --test tier1_temperature -- --nocapture --test-threads 1
running 2 tests
test tesub2_matches_the_fortran_and_the_silent_failure_never_fires ... sweep: SMOKE, 7950 cases. The 9987490-case gate is `cargo xtask validate --tiers 1`.
tier1 TESUB2 ity=0 start=warm
cases : 7950
max rel err : 0.000e0 at grid#0 T=0
max ulp : 0 at grid#0 T=0
ulp percentiles: p50=0 p90=0 p99=0 p100=0
ulp histogram : 0:7950
non-finite : 0 seen, 0 mismatched
abandoned : 0 (delta D-001)
round trip : max |solved - true| = 0e0 C
elapsed : 0.0 s
tier1 TESUB2 ity=0 start=cold
cases : 7950
max rel err : 0.000e0 at grid#0 T=0
max ulp : 0 at grid#0 T=0
ulp percentiles: p50=0 p90=0 p99=0 p100=0
ulp histogram : 0:7950
non-finite : 0 seen, 0 mismatched
abandoned : 0 (delta D-001)
round trip : max |solved - true| = 5.684341886080802e-14 C at grid#3637 T=131.25
elapsed : 0.0 s
tier1 TESUB2 ity=1 start=warm
cases : 7950
max rel err : 0.000e0 at grid#0 T=0
max ulp : 0 at grid#0 T=0
ulp percentiles: p50=0 p90=0 p99=0 p100=0
ulp histogram : 0:7950
non-finite : 0 seen, 0 mismatched
abandoned : 0 (delta D-001)
round trip : max |solved - true| = 0e0 C
elapsed : 0.0 s
tier1 TESUB2 ity=1 start=cold
cases : 7950
max rel err : 0.000e0 at grid#0 T=0
max ulp : 0 at grid#0 T=0
ulp percentiles: p50=0 p90=0 p99=0 p100=0
ulp histogram : 0:7950
non-finite : 0 seen, 0 mismatched
abandoned : 0 (delta D-001)
round trip : max |solved - true| = 1.9895196601282805e-13 C at grid#4617 T=170
elapsed : 0.0 s
tier1 TESUB2 ity=2 start=warm
cases : 7950
max rel err : 0.000e0 at grid#0 T=0
max ulp : 0 at grid#0 T=0
ulp percentiles: p50=0 p90=0 p99=0 p100=0
ulp histogram : 0:7950
non-finite : 0 seen, 0 mismatched
abandoned : 0 (delta D-001)
round trip : max |solved - true| = 0e0 C
elapsed : 0.0 s
tier1 TESUB2 ity=2 start=cold
cases : 7950
max rel err : 0.000e0 at grid#0 T=0
max ulp : 0 at grid#0 T=0
ulp percentiles: p50=0 p90=0 p99=0 p100=0
ulp histogram : 0:7950
non-finite : 0 seen, 0 mismatched
abandoned : 0 (delta D-001)
round trip : max |solved - true| = 5.115907697472721e-13 C at face#96 T=144.14305056234923
elapsed : 0.0 s
ok
test the_fortran_silently_returns_the_guess_where_the_port_reports_failure ... D-001 demonstrated:
Fortran: returned 120.4 silently
port: Newton did not converge in 100 iterations from a guess of 120.4 C: reached -48598544002334720 C with a final step of 24299272000832196, which is not below 1e-12
ok
test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s