Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Tier 2: the plant model

This page is generated. cargo xtask validate --tiers 1,2,3 --smoke wrote it from commit b6ef4ee-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.

Both implementations are forced into an identical state, evaluated once, and compared on all fifty derivative components. Sampling is from three pools: states along the nominal closed-loop trajectory, random perturbations of those states, and adversarial states placed at every discontinuity and clamp in the model.

Every comparison runs twice. The vendored libm disagrees with gfortran's by an ULP on about a tenth of exp and pow calls, so the default build can only be held to 1e-12; the libm-system build removes the transcendental from the comparison and is held to bit equality. Both runs are below, and the libm column says which is which.

The tolerance is relative to the scale of the terms rather than to the result. A balance is inflow minus outflow, and near steady state those nearly cancel, so an error that is 1e-16 of either term can be 1e-4 of their difference.

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

20 test binaries: 94 test(s) passed, 0 failed, 0 ignored.

targetlibmpassedfailedignored
tier2_unpackvendored300
tier2_equilibriumvendored300
tier2_kineticsvendored300
tier2_streamsvendored300
tier2_flowsvendored500
tier2_strippervendored400
tier2_heatvendored400
tier2_measurementsvendored400
tier2_balancesvendored400
tier4_closed_loopplatform500
tier5_invariantsplatform900
tier5_runsplatform1000
tier2_equilibriumplatform300
tier2_kineticsplatform400
tier2_streamsplatform400
tier2_flowsplatform600
tier2_stripperplatform500
tier2_heatplatform500
tier2_measurementsplatform500
tier2_balancesplatform500

Figures

GENERATED by `cargo xtask validate --tiers 1,2,3 --smoke` from commit `b6ef4ee-dirty`. Do not edit by hand: the next run overwrites it. Tier 2: every comparison against the 1e-12 gateA logarithmic strip plot. Each dot is one comparison against the Fortran, placed at its maximum relative error, in a lane named for the test target that produced it. 115 of 141 comparisons are exactly zero and sit in the separate lane at the left. The gate at 1e-12 is a dashed vertical line with the region beyond it shaded; 1 dots lie beyond it. Tier 2: every comparison, against the gate 141 comparisons over 9 target(s). 115 are bit-identical to the Fortran. 1 lies beyond the gate. 1e-16 1e-14 1e-12 1e-10 1e-8 1e-6 1e-4 1e-2 maximum relative error against the Fortran = 0 gate 1e-12 tier2_unpack tier1 TCV with the carried seed: exactly 0 (vendored libm, solving_from_a_fixed_guess_instead_of_the_seed_breaks_bit_equality) tier1 TCV from a fixed guess: 9.901e-16 (vendored libm, solving_from_a_fixed_guess_instead_of_the_seed_breaks_bit_equality) tier1 unpack UCLR: exactly 0 (vendored libm, the_unpacking_matches_the_fortran_over_all_three_pools) tier1 unpack UCLS: exactly 0 (vendored libm, the_unpacking_matches_the_fortran_over_all_three_pools) tier1 unpack UCLC: exactly 0 (vendored libm, the_unpacking_matches_the_fortran_over_all_three_pools) tier1 unpack UCVV: exactly 0 (vendored libm, the_unpacking_matches_the_fortran_over_all_three_pools) tier1 unpack UTLR/UTLS/UTLC/UTVV: exactly 0 (vendored libm, the_unpacking_matches_the_fortran_over_all_three_pools) tier1 unpack XLR: exactly 0 (vendored libm, the_unpacking_matches_the_fortran_over_all_three_pools) tier1 unpack XLS: exactly 0 (vendored libm, the_unpacking_matches_the_fortran_over_all_three_pools) tier1 unpack XLC: exactly 0 (vendored libm, the_unpacking_matches_the_fortran_over_all_three_pools) tier1 unpack XVV: exactly 0 (vendored libm, the_unpacking_matches_the_fortran_over_all_three_pools) tier1 unpack ESR/ESS/ESC/ESV: exactly 0 (vendored libm, the_unpacking_matches_the_fortran_over_all_three_pools) tier1 unpack TCR/TCS/TCC/TCV: exactly 0 (vendored libm, the_unpacking_matches_the_fortran_over_all_three_pools) tier1 unpack TKR/TKS/TKV: exactly 0 (vendored libm, the_unpacking_matches_the_fortran_over_all_three_pools) tier1 unpack DLR/DLS/DLC: exactly 0 (vendored libm, the_unpacking_matches_the_fortran_over_all_three_pools) tier1 unpack VLR/VLS/VLC: exactly 0 (vendored libm, the_unpacking_matches_the_fortran_over_all_three_pools) tier2_equilibrium tier1 equilibrium VVR/VVS: exactly 0 (vendored libm, the_equilibrium_matches_the_fortran_over_all_three_pools) tier1 equilibrium PPR: 2.802e-16 (vendored libm, the_equilibrium_matches_the_fortran_over_all_three_pools) tier1 equilibrium PPS: 2.784e-16 (vendored libm, the_equilibrium_matches_the_fortran_over_all_three_pools) tier1 equilibrium PTR/PTS/PTV: 3.578e-16 (vendored libm, the_equilibrium_matches_the_fortran_over_all_three_pools) tier1 equilibrium XVR: 4.843e-16 (vendored libm, the_equilibrium_matches_the_fortran_over_all_three_pools) tier1 equilibrium XVS: 4.302e-16 (vendored libm, the_equilibrium_matches_the_fortran_over_all_three_pools) tier1 equilibrium UTVR/UTVS: 4.443e-16 (vendored libm, the_equilibrium_matches_the_fortran_over_all_three_pools) tier1 equilibrium UCVR: 5.077e-16 (vendored libm, the_equilibrium_matches_the_fortran_over_all_three_pools) tier1 equilibrium UCVS: 6.230e-16 (vendored libm, the_equilibrium_matches_the_fortran_over_all_three_pools) tier1 PPR/PPS for A, B and C: exactly 0 (vendored libm, the_ideal_gas_partial_pressures_are_bit_identical_under_the_vendored_libm) tier1 PTV: exactly 0 (vendored libm, the_ideal_gas_partial_pressures_are_bit_identical_under_the_vendored_libm) tier1 equilibrium VVR/VVS: exactly 0 (platform libm, the_algebra_is_bit_identical_once_exp_agrees) tier1 equilibrium PPR: exactly 0 (platform libm, the_algebra_is_bit_identical_once_exp_agrees) tier1 equilibrium PPS: exactly 0 (platform libm, the_algebra_is_bit_identical_once_exp_agrees) tier1 equilibrium PTR/PTS/PTV: exactly 0 (platform libm, the_algebra_is_bit_identical_once_exp_agrees) tier1 equilibrium XVR: exactly 0 (platform libm, the_algebra_is_bit_identical_once_exp_agrees) tier1 equilibrium XVS: exactly 0 (platform libm, the_algebra_is_bit_identical_once_exp_agrees) tier1 equilibrium UTVR/UTVS: exactly 0 (platform libm, the_algebra_is_bit_identical_once_exp_agrees) tier1 equilibrium UCVR: exactly 0 (platform libm, the_algebra_is_bit_identical_once_exp_agrees) tier1 equilibrium UCVS: exactly 0 (platform libm, the_algebra_is_bit_identical_once_exp_agrees) tier1 equilibrium VVR/VVS: exactly 0 (platform libm, the_equilibrium_matches_the_fortran_over_all_three_pools) tier1 equilibrium PPR: exactly 0 (platform libm, the_equilibrium_matches_the_fortran_over_all_three_pools) tier1 equilibrium PPS: exactly 0 (platform libm, the_equilibrium_matches_the_fortran_over_all_three_pools) tier1 equilibrium PTR/PTS/PTV: exactly 0 (platform libm, the_equilibrium_matches_the_fortran_over_all_three_pools) tier1 equilibrium XVR: exactly 0 (platform libm, the_equilibrium_matches_the_fortran_over_all_three_pools) tier1 equilibrium XVS: exactly 0 (platform libm, the_equilibrium_matches_the_fortran_over_all_three_pools) tier1 equilibrium UTVR/UTVS: exactly 0 (platform libm, the_equilibrium_matches_the_fortran_over_all_three_pools) tier1 equilibrium UCVR: exactly 0 (platform libm, the_equilibrium_matches_the_fortran_over_all_three_pools) tier1 equilibrium UCVS: exactly 0 (platform libm, the_equilibrium_matches_the_fortran_over_all_three_pools) tier2_kinetics tier1 CRXR(2), never assigned: exactly 0 (vendored libm, the_inert_has_no_net_production_in_either_implementation) tier1 kinetics RR: 8.492e-16 (vendored libm, the_kinetics_match_the_fortran_over_all_three_pools) tier1 kinetics CRXR: 8.492e-16 (vendored libm, the_kinetics_match_the_fortran_over_all_three_pools) tier1 kinetics RH: 7.419e-16 (vendored libm, the_kinetics_match_the_fortran_over_all_three_pools) tier1 kinetics RR: exactly 0 (platform libm, the_algebra_is_bit_identical_once_exp_and_pow_agree) tier1 kinetics CRXR: exactly 0 (platform libm, the_algebra_is_bit_identical_once_exp_and_pow_agree) tier1 kinetics RH: exactly 0 (platform libm, the_algebra_is_bit_identical_once_exp_and_pow_agree) tier1 CRXR(2), never assigned: exactly 0 (platform libm, the_inert_has_no_net_production_in_either_implementation) tier1 kinetics RR: exactly 0 (platform libm, the_kinetics_match_the_fortran_over_all_three_pools) tier1 kinetics CRXR: exactly 0 (platform libm, the_kinetics_match_the_fortran_over_all_three_pools) tier1 kinetics RH: exactly 0 (platform libm, the_kinetics_match_the_fortran_over_all_three_pools) tier2_streams tier1 streams XST (10 streams x 8): 4.736e-16 (vendored libm, the_stream_table_matches_the_fortran_over_all_three_pools) tier1 streams XMWS (the 6 that exist): 4.370e-16 (vendored libm, the_stream_table_matches_the_fortran_over_all_three_pools) tier1 streams TST: exactly 0 (vendored libm, the_stream_table_matches_the_fortran_over_all_three_pools) tier1 streams HST: 5.050e-16 (vendored libm, the_stream_table_matches_the_fortran_over_all_three_pools) tier1 streams XST (10 streams x 8): exactly 0 (platform libm, the_algebra_is_bit_identical_once_exp_and_pow_agree) tier1 streams XMWS (the 6 that exist): exactly 0 (platform libm, the_algebra_is_bit_identical_once_exp_and_pow_agree) tier1 streams TST: exactly 0 (platform libm, the_algebra_is_bit_identical_once_exp_and_pow_agree) tier1 streams HST: exactly 0 (platform libm, the_algebra_is_bit_identical_once_exp_and_pow_agree) tier1 streams XST (10 streams x 8): exactly 0 (platform libm, the_stream_table_matches_the_fortran_over_all_three_pools) tier1 streams XMWS (the 6 that exist): exactly 0 (platform libm, the_stream_table_matches_the_fortran_over_all_three_pools) tier1 streams TST: exactly 0 (platform libm, the_stream_table_matches_the_fortran_over_all_three_pools) tier1 streams HST: exactly 0 (platform libm, the_stream_table_matches_the_fortran_over_all_three_pools) tier2_flows tier1 flows FTM (the 10 assembled streams): 2.246e-14 (vendored libm, the_flow_network_matches_the_fortran_over_all_three_pools) tier1 flows FCM (10 streams x 8): 2.268e-14 (vendored libm, the_flow_network_matches_the_fortran_over_all_three_pools) tier1 flows FWR/FWS/AGSP: exactly 0 (vendored libm, the_flow_network_matches_the_fortran_over_all_three_pools) tier1 flows CPDH: 2.034e-15 (vendored libm, the_flow_network_matches_the_fortran_over_all_three_pools) tier1 flows HST(9) after the compressor bump: 6.522e-15 (vendored libm, the_flow_network_matches_the_fortran_over_all_three_pools) tier1 UAC, via QUC: exactly 0 (vendored libm, the_steam_coefficient_matches_through_the_condenser_duty) tier1 flows FTM (the 10 assembled streams): exactly 0 (platform libm, the_algebra_is_bit_identical_once_exp_and_pow_agree) tier1 flows FCM (10 streams x 8): exactly 0 (platform libm, the_algebra_is_bit_identical_once_exp_and_pow_agree) tier1 flows FWR/FWS/AGSP: exactly 0 (platform libm, the_algebra_is_bit_identical_once_exp_and_pow_agree) tier1 flows CPDH: exactly 0 (platform libm, the_algebra_is_bit_identical_once_exp_and_pow_agree) tier1 flows HST(9) after the compressor bump: exactly 0 (platform libm, the_algebra_is_bit_identical_once_exp_and_pow_agree) tier1 flows FTM (the 10 assembled streams): exactly 0 (platform libm, the_flow_network_matches_the_fortran_over_all_three_pools) tier1 flows FCM (10 streams x 8): exactly 0 (platform libm, the_flow_network_matches_the_fortran_over_all_three_pools) tier1 flows FWR/FWS/AGSP: exactly 0 (platform libm, the_flow_network_matches_the_fortran_over_all_three_pools) tier1 flows CPDH: exactly 0 (platform libm, the_flow_network_matches_the_fortran_over_all_three_pools) tier1 flows HST(9) after the compressor bump: exactly 0 (platform libm, the_flow_network_matches_the_fortran_over_all_three_pools) tier1 UAC, via QUC: exactly 0 (platform libm, the_steam_coefficient_matches_through_the_condenser_duty) tier2_stripper tier1 stripper SFR: exactly 0 (vendored libm, the_stripper_matches_the_fortran_over_all_three_pools) tier1 stripper FTM (5, 12): the column's own outlets: exactly 0 (vendored libm, the_stripper_matches_the_fortran_over_all_three_pools) tier1 stripper FTM (7): the reactor-inlet alias: 1.484e-15 (vendored libm, the_stripper_matches_the_fortran_over_all_three_pools) tier1 stripper FCM (5, 12): the column's own outlets: exactly 0 (vendored libm, the_stripper_matches_the_fortran_over_all_three_pools) tier1 stripper FCM (7): the reactor-inlet alias: 1.610e-15 (vendored libm, the_stripper_matches_the_fortran_over_all_three_pools) tier1 stripper XST (5, 12): the column's own outlets: exactly 0 (vendored libm, the_stripper_matches_the_fortran_over_all_three_pools) tier1 stripper XST (7): the reactor-inlet alias: exactly 0 (vendored libm, the_stripper_matches_the_fortran_over_all_three_pools) tier1 stripper TST (5, 7, 12): exactly 0 (vendored libm, the_stripper_matches_the_fortran_over_all_three_pools) tier1 stripper HST (5, 12): the column's own outlets: exactly 0 (vendored libm, the_stripper_matches_the_fortran_over_all_three_pools) tier1 stripper HST (7): the reactor-inlet alias: exactly 0 (vendored libm, the_stripper_matches_the_fortran_over_all_three_pools) tier1 stripper SFR: exactly 0 (platform libm, the_algebra_is_bit_identical_once_exp_and_pow_agree) tier1 stripper FTM (5, 12): the column's own outlets: exactly 0 (platform libm, the_algebra_is_bit_identical_once_exp_and_pow_agree) tier1 stripper FTM (7): the reactor-inlet alias: exactly 0 (platform libm, the_algebra_is_bit_identical_once_exp_and_pow_agree) tier1 stripper FCM (5, 12): the column's own outlets: exactly 0 (platform libm, the_algebra_is_bit_identical_once_exp_and_pow_agree) tier1 stripper FCM (7): the reactor-inlet alias: exactly 0 (platform libm, the_algebra_is_bit_identical_once_exp_and_pow_agree) tier1 stripper XST (5, 12): the column's own outlets: exactly 0 (platform libm, the_algebra_is_bit_identical_once_exp_and_pow_agree) tier1 stripper XST (7): the reactor-inlet alias: exactly 0 (platform libm, the_algebra_is_bit_identical_once_exp_and_pow_agree) tier1 stripper TST (5, 7, 12): exactly 0 (platform libm, the_algebra_is_bit_identical_once_exp_and_pow_agree) tier1 stripper HST (5, 12): the column's own outlets: exactly 0 (platform libm, the_algebra_is_bit_identical_once_exp_and_pow_agree) tier1 stripper HST (7): the reactor-inlet alias: exactly 0 (platform libm, the_algebra_is_bit_identical_once_exp_and_pow_agree) tier1 stripper SFR: exactly 0 (platform libm, the_stripper_matches_the_fortran_over_all_three_pools) tier1 stripper FTM (5, 12): the column's own outlets: exactly 0 (platform libm, the_stripper_matches_the_fortran_over_all_three_pools) tier1 stripper FTM (7): the reactor-inlet alias: exactly 0 (platform libm, the_stripper_matches_the_fortran_over_all_three_pools) tier1 stripper FCM (5, 12): the column's own outlets: exactly 0 (platform libm, the_stripper_matches_the_fortran_over_all_three_pools) tier1 stripper FCM (7): the reactor-inlet alias: exactly 0 (platform libm, the_stripper_matches_the_fortran_over_all_three_pools) tier1 stripper XST (5, 12): the column's own outlets: exactly 0 (platform libm, the_stripper_matches_the_fortran_over_all_three_pools) tier1 stripper XST (7): the reactor-inlet alias: exactly 0 (platform libm, the_stripper_matches_the_fortran_over_all_three_pools) tier1 stripper TST (5, 7, 12): exactly 0 (platform libm, the_stripper_matches_the_fortran_over_all_three_pools) tier1 stripper HST (5, 12): the column's own outlets: exactly 0 (platform libm, the_stripper_matches_the_fortran_over_all_three_pools) tier1 stripper HST (7): the reactor-inlet alias: exactly 0 (platform libm, the_stripper_matches_the_fortran_over_all_three_pools) tier2_heat tier1 heat UAR: exactly 0 (vendored libm, heat_transfer_matches_the_fortran_over_all_three_pools) tier1 heat QUR: exactly 0 (vendored libm, heat_transfer_matches_the_fortran_over_all_three_pools) tier1 heat QUS: 9.572e-13 (vendored libm, heat_transfer_matches_the_fortran_over_all_three_pools) tier1 heat QUC: exactly 0 (vendored libm, heat_transfer_matches_the_fortran_over_all_three_pools) tier1 heat UAR: exactly 0 (platform libm, heat_transfer_matches_the_fortran_over_all_three_pools) tier1 heat QUR: exactly 0 (platform libm, heat_transfer_matches_the_fortran_over_all_three_pools) tier1 heat QUS: exactly 0 (platform libm, heat_transfer_matches_the_fortran_over_all_three_pools) tier1 heat QUC: exactly 0 (platform libm, heat_transfer_matches_the_fortran_over_all_three_pools) tier1 heat UAR: exactly 0 (platform libm, the_algebra_is_bit_identical_once_exp_and_pow_agree) tier1 heat QUR: exactly 0 (platform libm, the_algebra_is_bit_identical_once_exp_and_pow_agree) tier1 heat QUS: exactly 0 (platform libm, the_algebra_is_bit_identical_once_exp_and_pow_agree) tier1 heat QUC: exactly 0 (platform libm, the_algebra_is_bit_identical_once_exp_and_pow_agree) tier2_measurements tier1 XMEAS(1..22), noise-free: 8.774e-15 (vendored libm, the_measurements_match_the_fortran_over_all_three_pools) tier1 ISD as 0 or 1: exactly 0 (vendored libm, the_shutdown_detector_agrees_with_the_fortran_on_every_state) tier1 XMEAS(1..22), noise-free: exactly 0 (platform libm, the_algebra_is_bit_identical_once_exp_and_pow_agree) tier1 XMEAS(1..22), noise-free: exactly 0 (platform libm, the_measurements_match_the_fortran_over_all_three_pools) tier1 ISD as 0 or 1: exactly 0 (platform libm, the_shutdown_detector_agrees_with_the_fortran_on_every_state) tier2_balances tier1 YP(1..50), relative to the derivative (reported): 1.393e-4 (vendored libm, all_fifty_derivatives_match_the_fortran_over_all_three_pools) tier1 YP(1..50), relative to the scale of the terms (the gate): 6.093e-14 (vendored libm, all_fifty_derivatives_match_the_fortran_over_all_three_pools) tier1 YP(1..50), plant frozen: exactly 0 (vendored libm, all_fifty_derivatives_match_the_fortran_over_all_three_pools) tier1 YP(1..50), relative to the scale of the terms (the gate): 6.093e-14 (vendored libm, tier2_acceptance_table) tier1 YP(1..50), relative to the derivative (reported): exactly 0 (platform libm, all_fifty_derivatives_match_the_fortran_over_all_three_pools) tier1 YP(1..50), relative to the scale of the terms (the gate): exactly 0 (platform libm, all_fifty_derivatives_match_the_fortran_over_all_three_pools) tier1 YP(1..50), plant frozen: exactly 0 (platform libm, all_fifty_derivatives_match_the_fortran_over_all_three_pools) tier1 YP(1..50), relative to the derivative (reported): exactly 0 (platform libm, the_whole_right_hand_side_is_bit_identical_once_exp_and_pow_agree) tier1 YP(1..50), relative to the scale of the terms (the gate): exactly 0 (platform libm, tier2_acceptance_table) vendored libm vendored libm platform libm platform libm, bit-exact claim beyond the gate beyond the gate hover a dot for the comparison it came from
Every comparison, against the gate. Every comparison this tier made, at its own maximum relative error, in a lane named for the target that ran it. Hovering a dot names the comparison. A dot is orange because its value is past the 1e-12 gate and for no other reason: no test is recognised by name, so a regression and a deliberate positive control are drawn identically. Beyond it in this run: tier1 YP(1..50), relative to the derivative (reported), 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-0026 (LOG.org).
GENERATED by `cargo xtask validate --tiers 1,2,3 --smoke` from commit `b6ef4ee-dirty`. Do not edit by hand: the next run overwrites it. Tier 2: how many bits differA bar chart on a logarithmic count axis. Each bar is the number of comparisons whose result differed from the Fortran's by that many units in the last place, grouped by which libm the port was built against. 2,860,725 comparisons in total. Tier 2: how many bits actually differ 2,860,725 comparisons, by units in the last place. The count axis is logarithmic. One block beyond the gate is left out. vendored libm: 1,267,964 of 1,325,500 identical to the last bit 0 ULP 1,267,964 1 ULP 20,728 2 ULP 9,290 3 ULP 2,013 4 ULP 3,697 5 ULP 361 6 ULP 513 7 ULP 154 8 ULP 2,666 9 ULP 117 10 ULP 124 11 ULP 59 12 ULP 367 13 ULP 65 14 ULP 122 15 ULP 114 >=16 ULP 17,146 1 10 1e2 1e3 1e4 1e5 1e6 1e7 platform libm: 1,535,225 of 1,535,225 identical to the last bit 0 ULP 1,535,225 1 10 1e2 1e3 1e4 1e5 1e6 1e7 A bar exists only where the count is not zero, so a tier with one bar differed nowhere.
How many bits actually differ. The same comparisons counted by how many bits differ rather than by how much. A relative error is a ratio, and dividing by a large number makes any difference look small; a count of differing units in the last place cannot be flattered that way. The two groups are the whole argument: under the platform libm, where both sides call the same exp, the distribution is one bar at zero, and every comparison in the tier is identical to the last bit. Under the vendored libm a tail appears, and it is the transcendentals rather than the algebra. The claim is false the moment the platform group grows a second bar. Drawn by cargo xtask validate --tiers 1,2,3 --smoke at commit b6ef4ee-dirty; the measurement it repeats was first recorded in B-0026 (LOG.org).

Measurements

143 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.

targetfrom testwhatcasesmax rel errmax ulpulp percentilesulp histogramnon-finiteworst XMEASworst XMVwithin XNSfirst split, portfirst split, fortranworst over the runworst at the end
tier2_unpacksolving_from_a_fixed_guess_instead_of_the_seed_breaks_bit_equalitytier1 TCV with the carried seed1000.000e0 at nominal#0[4]0 at nominal#0[4]p50=0 p90=0 p99=0 p100=00:1000 seen, 0 mismatched
tier2_unpacksolving_from_a_fixed_guess_instead_of_the_seed_breaks_bit_equalitytier1 TCV from a fixed guess1009.901e-16 at nominal#25[4]6 at nominal#25[4]p50=1 p90=4 p99=6 p100=60:24 1:28 2:18 3:19 4:7 5:1 6:30 seen, 0 mismatched
tier2_unpackthe_unpacking_matches_the_fortran_over_all_three_poolstier1 unpack UCLR194000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:194000 seen, 0 mismatched
tier2_unpackthe_unpacking_matches_the_fortran_over_all_three_poolstier1 unpack UCLS194000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:194000 seen, 0 mismatched
tier2_unpackthe_unpacking_matches_the_fortran_over_all_three_poolstier1 unpack UCLC194000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:194000 seen, 0 mismatched
tier2_unpackthe_unpacking_matches_the_fortran_over_all_three_poolstier1 unpack UCVV194000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:194000 seen, 0 mismatched
tier2_unpackthe_unpacking_matches_the_fortran_over_all_three_poolstier1 unpack UTLR/UTLS/UTLC/UTVV97000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:97000 seen, 0 mismatched
tier2_unpackthe_unpacking_matches_the_fortran_over_all_three_poolstier1 unpack XLR194000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:194000 seen, 0 mismatched
tier2_unpackthe_unpacking_matches_the_fortran_over_all_three_poolstier1 unpack XLS194000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:194000 seen, 0 mismatched
tier2_unpackthe_unpacking_matches_the_fortran_over_all_three_poolstier1 unpack XLC194000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:194000 seen, 0 mismatched
tier2_unpackthe_unpacking_matches_the_fortran_over_all_three_poolstier1 unpack XVV194000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:194000 seen, 0 mismatched
tier2_unpackthe_unpacking_matches_the_fortran_over_all_three_poolstier1 unpack ESR/ESS/ESC/ESV97000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:97000 seen, 0 mismatched
tier2_unpackthe_unpacking_matches_the_fortran_over_all_three_poolstier1 unpack TCR/TCS/TCC/TCV97000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:97000 seen, 0 mismatched
tier2_unpackthe_unpacking_matches_the_fortran_over_all_three_poolstier1 unpack TKR/TKS/TKV72750.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:72750 seen, 0 mismatched
tier2_unpackthe_unpacking_matches_the_fortran_over_all_three_poolstier1 unpack DLR/DLS/DLC72750.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:72750 seen, 0 mismatched
tier2_unpackthe_unpacking_matches_the_fortran_over_all_three_poolstier1 unpack VLR/VLS/VLC72750.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:72750 seen, 0 mismatched
tier2_equilibriumthe_equilibrium_matches_the_fortran_over_all_three_poolstier1 equilibrium VVR/VVS48500.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:48500 seen, 0 mismatched
tier2_equilibriumthe_equilibrium_matches_the_fortran_over_all_three_poolstier1 equilibrium PPR194002.802e-16 at perturbed#1264[4]2 at nominal#21[4]p50=0 p90=0 p99=1 p100=20:17917 1:1305 2:1780 seen, 0 mismatched
tier2_equilibriumthe_equilibrium_matches_the_fortran_over_all_three_poolstier1 equilibrium PPS194002.784e-16 at perturbed#609[8]2 at nominal#26[8]p50=0 p90=0 p99=1 p100=20:18322 1:899 2:1790 seen, 0 mismatched
tier2_equilibriumthe_equilibrium_matches_the_fortran_over_all_three_poolstier1 equilibrium PTR/PTS/PTV72753.578e-16 at perturbed#576[2]2 at nominal#188[1]p50=0 p90=0 p99=1 p100=20:7130 1:133 2:120 seen, 0 mismatched
tier2_equilibriumthe_equilibrium_matches_the_fortran_over_all_three_poolstier1 equilibrium XVR194004.843e-16 at perturbed#88[4]3 at nominal#44[7]p50=0 p90=0 p99=2 p100=30:17705 1:1305 2:368 3:220 seen, 0 mismatched
tier2_equilibriumthe_equilibrium_matches_the_fortran_over_all_three_poolstier1 equilibrium XVS194004.302e-16 at perturbed#1121[7]3 at nominal#287[3]p50=0 p90=0 p99=2 p100=30:18174 1:978 2:238 3:100 seen, 0 mismatched
tier2_equilibriumthe_equilibrium_matches_the_fortran_over_all_three_poolstier1 equilibrium UTVR/UTVS48504.443e-16 at perturbed#169[2]3 at nominal#303[2]p50=0 p90=0 p99=1 p100=30:4733 1:82 2:32 3:30 seen, 0 mismatched
tier2_equilibriumthe_equilibrium_matches_the_fortran_over_all_three_poolstier1 equilibrium UCVR194005.077e-16 at perturbed#1281[8]4 at perturbed#1281[8]p50=0 p90=0 p99=2 p100=40:18105 1:920 2:330 3:44 4:10 seen, 0 mismatched
tier2_equilibriumthe_equilibrium_matches_the_fortran_over_all_three_poolstier1 equilibrium UCVS194006.230e-16 at perturbed#169[6]3 at perturbed#169[6]p50=0 p90=0 p99=1 p100=30:18585 1:713 2:98 3:40 seen, 0 mismatched
tier2_equilibriumthe_ideal_gas_partial_pressures_are_bit_identical_under_the_vendored_libmtier1 PPR/PPS for A, B and C12000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:12000 seen, 0 mismatched
tier2_equilibriumthe_ideal_gas_partial_pressures_are_bit_identical_under_the_vendored_libmtier1 PTV2000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:2000 seen, 0 mismatched
tier2_kineticsthe_inert_has_no_net_production_in_either_implementationtier1 CRXR(2), never assigned2000.000e0 at nominal#0[2]0 at nominal#0[2]p50=0 p90=0 p99=0 p100=00:2000 seen, 0 mismatched
tier2_kineticsthe_kinetics_match_the_fortran_over_all_three_poolstier1 kinetics RR97008.492e-16 at perturbed#618[2]7 at perturbed#1279[1]p50=0 p90=2 p99=3 p100=70:7255 1:1447 2:732 3:235 4:22 5:7 6:1 7:10 seen, 0 mismatched
tier2_kineticsthe_kinetics_match_the_fortran_over_all_three_poolstier1 kinetics CRXR194008.492e-16 at perturbed#618[8]7 at perturbed#1279[4]p50=0 p90=2 p99=3 p100=70:14063 1:3030 2:1763 3:450 4:72 5:16 6:4 7:20 seen, 0 mismatched
tier2_kineticsthe_kinetics_match_the_fortran_over_all_three_poolstier1 kinetics RH24257.419e-16 at perturbed#293[1]6 at perturbed#293[1]p50=0 p90=2 p99=3 p100=60:1594 1:472 2:299 3:50 4:8 5:1 6:10 seen, 0 mismatched
tier2_streamsthe_stream_table_matches_the_fortran_over_all_three_poolstier1 streams XST (10 streams x 8)1940004.736e-16 at perturbed#1378[44]4 at perturbed#1923[47]p50=0 p90=0 p99=1 p100=40:189849 1:3316 2:804 3:30 4:10 seen, 0 mismatched
tier2_streamsthe_stream_table_matches_the_fortran_over_all_three_poolstier1 streams XMWS (the 6 that exist)145504.370e-16 at perturbed#791[4]3 at perturbed#431[4]p50=0 p90=0 p99=1 p100=30:14073 1:392 2:79 3:60 seen, 0 mismatched
tier2_streamsthe_stream_table_matches_the_fortran_over_all_three_poolstier1 streams TST242500.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:242500 seen, 0 mismatched
tier2_streamsthe_stream_table_matches_the_fortran_over_all_three_poolstier1 streams HST242505.050e-16 at perturbed#1923[6]4 at perturbed#1923[6]p50=0 p90=0 p99=1 p100=40:23683 1:461 2:94 3:10 4:20 seen, 0 mismatched
tier2_flowsthe_flow_network_matches_the_fortran_over_all_three_poolstier1 flows FTM (the 10 assembled streams)242502.246e-14 at perturbed#1790[7]125 at perturbed#1453[6]p50=0 p90=0 p99=5 p100>=160:23639 1:224 2:85 3:47 4:12 5:13 6:17 7:17 8:10 9:7 10:5 11:6 12:3 13:2 15:1 >=16:1620 seen, 0 mismatched
tier2_flowsthe_flow_network_matches_the_fortran_over_all_three_poolstier1 flows FCM (10 streams x 8)1940002.268e-14 at perturbed#1790[53]178 at perturbed#1106[43]p50=0 p90=0 p99=4 p100>=160:187622 1:2738 2:1090 3:426 4:288 5:119 6:88 7:62 8:43 9:57 10:38 11:31 12:25 13:47 14:66 15:90 >=16:11700 seen, 0 mismatched
tier2_flowsthe_flow_network_matches_the_fortran_over_all_three_poolstier1 flows FWR/FWS/AGSP72750.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:72750 seen, 0 mismatched
tier2_flowsthe_flow_network_matches_the_fortran_over_all_three_poolstier1 flows CPDH24252.034e-15 at perturbed#1790[1]18 at perturbed#1790[1]p50=0 p90=0 p99=2 p100>=160:2312 1:71 2:20 3:6 4:5 5:6 6:1 7:3 >=16:10 seen, 0 mismatched
tier2_flowsthe_flow_network_matches_the_fortran_over_all_three_poolstier1 flows HST(9) after the compressor bump24256.522e-15 at perturbed#1790[1]42 at perturbed#1790[1]p50=0 p90=0 p99=2 p100>=160:2253 1:133 2:24 3:10 4:1 5:1 6:1 9:1 >=16:10 seen, 0 mismatched
tier2_flowsthe_steam_coefficient_matches_through_the_condenser_dutytier1 UAC, via QUC3000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:3000 seen, 0 mismatched
tier2_stripperthe_stripper_matches_the_fortran_over_all_three_poolstier1 stripper SFR194000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:194000 seen, 0 mismatched
tier2_stripperthe_stripper_matches_the_fortran_over_all_three_poolstier1 stripper FTM (5, 12): the column's own outlets48500.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:48500 seen, 0 mismatched
tier2_stripperthe_stripper_matches_the_fortran_over_all_three_poolstier1 stripper FTM (7): the reactor-inlet alias24251.484e-15 at perturbed#817[1]12 at perturbed#591[1]p50=0 p90=0 p99=5 p100=120:2322 1:1 2:19 3:46 4:5 5:8 6:15 7:6 8:1 12:20 seen, 0 mismatched
tier2_stripperthe_stripper_matches_the_fortran_over_all_three_poolstier1 stripper FCM (5, 12): the column's own outlets388000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:388000 seen, 0 mismatched
tier2_stripperthe_stripper_matches_the_fortran_over_all_three_poolstier1 stripper FCM (7): the reactor-inlet alias194001.610e-15 at perturbed#817[3]13 at perturbed#591[8]p50=0 p90=0 p99=4 p100=130:18576 1:6 2:100 3:313 4:228 5:103 6:33 7:15 8:11 9:8 10:1 11:3 12:2 13:10 seen, 0 mismatched
tier2_stripperthe_stripper_matches_the_fortran_over_all_three_poolstier1 stripper XST (5, 12): the column's own outlets388000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:388000 seen, 0 mismatched
tier2_stripperthe_stripper_matches_the_fortran_over_all_three_poolstier1 stripper XST (7): the reactor-inlet alias194000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:194000 seen, 0 mismatched
tier2_stripperthe_stripper_matches_the_fortran_over_all_three_poolstier1 stripper TST (5, 7, 12)72750.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:72750 seen, 0 mismatched
tier2_stripperthe_stripper_matches_the_fortran_over_all_three_poolstier1 stripper HST (5, 12): the column's own outlets48500.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:48500 seen, 0 mismatched
tier2_stripperthe_stripper_matches_the_fortran_over_all_three_poolstier1 stripper HST (7): the reactor-inlet alias24250.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:24250 seen, 0 mismatched
tier2_heatheat_transfer_matches_the_fortran_over_all_three_poolstier1 heat UAR24250.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:24250 seen, 0 mismatched
tier2_heatheat_transfer_matches_the_fortran_over_all_three_poolstier1 heat QUR24250.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:24250 seen, 0 mismatched
tier2_heatheat_transfer_matches_the_fortran_over_all_three_poolstier1 heat QUS24259.572e-13 at perturbed#50[1]8009 at perturbed#50[1]p50=0 p90=0 p99>=16 p100>=160:2196 1:23 2:14 3:10 4:21 5:9 6:3 7:10 8:4 9:2 10:3 11:1 12:3 13:3 14:6 15:1 >=16:1160 seen, 0 mismatched
tier2_heatheat_transfer_matches_the_fortran_over_all_three_poolstier1 heat QUC24250.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:24250 seen, 0 mismatched
tier2_measurementsthe_measurements_match_the_fortran_over_all_three_poolstier1 XMEAS(1..22), noise-free533508.774e-15 at perturbed#1851[5]78 at perturbed#1851[5]p50=0 p90=0 p99=1 p100>=160:52801 1:226 2:132 3:58 4:44 5:23 6:7 7:7 8:3 9:4 13:1 14:3 >=16:410 seen, 0 mismatched
tier2_measurementsthe_shutdown_detector_agrees_with_the_fortran_on_every_statetier1 ISD as 0 or 124250.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:24250 seen, 0 mismatched
tier2_balancesall_fifty_derivatives_match_the_fortran_over_all_three_poolstier1 YP(1..50), relative to the derivative (reported)1206001.393e-4 at nominal#303[2]738734374912 at nominal#303[2]p50=0 p90=2 p99>=16 p100>=160:107101 1:935 2:1289 3:101 4:1512 5:22 6:176 7:14 8:1354 9:19 10:35 11:7 12:166 13:4 14:21 15:11 >=16:78330 seen, 0 mismatched
tier2_balancesall_fifty_derivatives_match_the_fortran_over_all_three_poolstier1 YP(1..50), relative to the scale of the terms (the gate)1206006.093e-14 at perturbed#300[7]738734374912 at nominal#303[2]p50=0 p90=2 p99>=16 p100>=160:107101 1:935 2:1289 3:101 4:1512 5:22 6:176 7:14 8:1354 9:19 10:35 11:7 12:166 13:4 14:21 15:11 >=16:78330 seen, 0 mismatched
tier2_balancesall_fifty_derivatives_match_the_fortran_over_all_three_poolstier1 YP(1..50), plant frozen6500.000e0 at perturbed#369[1]0 at perturbed#369[1]p50=0 p90=0 p99=0 p100=00:6500 seen, 0 mismatched
tier2_balancestier2_acceptance_tabletier1 YP(1..50), relative to the scale of the terms (the gate)1206006.093e-14 at perturbed#300[7]206158430208 at nominal#296[2]p50=0 p90=2 p99>=16 p100>=160:107280 1:890 2:1293 3:113 4:1468 5:32 6:163 7:17 8:1240 9:19 10:42 11:11 12:166 13:7 14:26 15:11 >=16:78220 seen, 0 mismatched
tier4_closed_loopthe_closed_loop_plant_matches_the_fortran_driverclosed loop, platform libm, 10 h (36000 steps)0.000e0 at XMEAS(0)0.000e0 %range at XMV(0)10.000 h of 10, ending at 0.000e0 x XNS(0)
tier4_closed_loopthe_forced_disturbance_changes_the_plant_measurablyD-011, 10 h, faithful against fixed:Some((29390, 22))Some((29390, 22))1.092e-1 at XMEAS(37)3.262e-2 at XMEAS(38)
tier2_equilibriumthe_algebra_is_bit_identical_once_exp_agreestier1 equilibrium VVR/VVS14500.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:14500 seen, 0 mismatched
tier2_equilibriumthe_algebra_is_bit_identical_once_exp_agreestier1 equilibrium PPR58000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:58000 seen, 0 mismatched
tier2_equilibriumthe_algebra_is_bit_identical_once_exp_agreestier1 equilibrium PPS58000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:58000 seen, 0 mismatched
tier2_equilibriumthe_algebra_is_bit_identical_once_exp_agreestier1 equilibrium PTR/PTS/PTV21750.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:21750 seen, 0 mismatched
tier2_equilibriumthe_algebra_is_bit_identical_once_exp_agreestier1 equilibrium XVR58000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:58000 seen, 0 mismatched
tier2_equilibriumthe_algebra_is_bit_identical_once_exp_agreestier1 equilibrium XVS58000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:58000 seen, 0 mismatched
tier2_equilibriumthe_algebra_is_bit_identical_once_exp_agreestier1 equilibrium UTVR/UTVS14500.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:14500 seen, 0 mismatched
tier2_equilibriumthe_algebra_is_bit_identical_once_exp_agreestier1 equilibrium UCVR58000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:58000 seen, 0 mismatched
tier2_equilibriumthe_algebra_is_bit_identical_once_exp_agreestier1 equilibrium UCVS58000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:58000 seen, 0 mismatched
tier2_equilibriumthe_equilibrium_matches_the_fortran_over_all_three_poolstier1 equilibrium VVR/VVS48500.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:48500 seen, 0 mismatched
tier2_equilibriumthe_equilibrium_matches_the_fortran_over_all_three_poolstier1 equilibrium PPR194000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:194000 seen, 0 mismatched
tier2_equilibriumthe_equilibrium_matches_the_fortran_over_all_three_poolstier1 equilibrium PPS194000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:194000 seen, 0 mismatched
tier2_equilibriumthe_equilibrium_matches_the_fortran_over_all_three_poolstier1 equilibrium PTR/PTS/PTV72750.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:72750 seen, 0 mismatched
tier2_equilibriumthe_equilibrium_matches_the_fortran_over_all_three_poolstier1 equilibrium XVR194000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:194000 seen, 0 mismatched
tier2_equilibriumthe_equilibrium_matches_the_fortran_over_all_three_poolstier1 equilibrium XVS194000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:194000 seen, 0 mismatched
tier2_equilibriumthe_equilibrium_matches_the_fortran_over_all_three_poolstier1 equilibrium UTVR/UTVS48500.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:48500 seen, 0 mismatched
tier2_equilibriumthe_equilibrium_matches_the_fortran_over_all_three_poolstier1 equilibrium UCVR194000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:194000 seen, 0 mismatched
tier2_equilibriumthe_equilibrium_matches_the_fortran_over_all_three_poolstier1 equilibrium UCVS194000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:194000 seen, 0 mismatched
tier2_kineticsthe_algebra_is_bit_identical_once_exp_and_pow_agreetier1 kinetics RR29000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:29000 seen, 0 mismatched
tier2_kineticsthe_algebra_is_bit_identical_once_exp_and_pow_agreetier1 kinetics CRXR58000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:58000 seen, 0 mismatched
tier2_kineticsthe_algebra_is_bit_identical_once_exp_and_pow_agreetier1 kinetics RH7250.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:7250 seen, 0 mismatched
tier2_kineticsthe_inert_has_no_net_production_in_either_implementationtier1 CRXR(2), never assigned2000.000e0 at nominal#0[2]0 at nominal#0[2]p50=0 p90=0 p99=0 p100=00:2000 seen, 0 mismatched
tier2_kineticsthe_kinetics_match_the_fortran_over_all_three_poolstier1 kinetics RR97000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:97000 seen, 0 mismatched
tier2_kineticsthe_kinetics_match_the_fortran_over_all_three_poolstier1 kinetics CRXR194000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:194000 seen, 0 mismatched
tier2_kineticsthe_kinetics_match_the_fortran_over_all_three_poolstier1 kinetics RH24250.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:24250 seen, 0 mismatched
tier2_streamsthe_algebra_is_bit_identical_once_exp_and_pow_agreetier1 streams XST (10 streams x 8)580000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:580000 seen, 0 mismatched
tier2_streamsthe_algebra_is_bit_identical_once_exp_and_pow_agreetier1 streams XMWS (the 6 that exist)43500.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:43500 seen, 0 mismatched
tier2_streamsthe_algebra_is_bit_identical_once_exp_and_pow_agreetier1 streams TST72500.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:72500 seen, 0 mismatched
tier2_streamsthe_algebra_is_bit_identical_once_exp_and_pow_agreetier1 streams HST72500.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:72500 seen, 0 mismatched
tier2_streamsthe_stream_table_matches_the_fortran_over_all_three_poolstier1 streams XST (10 streams x 8)1940000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:1940000 seen, 0 mismatched
tier2_streamsthe_stream_table_matches_the_fortran_over_all_three_poolstier1 streams XMWS (the 6 that exist)145500.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:145500 seen, 0 mismatched
tier2_streamsthe_stream_table_matches_the_fortran_over_all_three_poolstier1 streams TST242500.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:242500 seen, 0 mismatched
tier2_streamsthe_stream_table_matches_the_fortran_over_all_three_poolstier1 streams HST242500.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:242500 seen, 0 mismatched
tier2_flowsthe_algebra_is_bit_identical_once_exp_and_pow_agreetier1 flows FTM (the 10 assembled streams)72500.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:72500 seen, 0 mismatched
tier2_flowsthe_algebra_is_bit_identical_once_exp_and_pow_agreetier1 flows FCM (10 streams x 8)580000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:580000 seen, 0 mismatched
tier2_flowsthe_algebra_is_bit_identical_once_exp_and_pow_agreetier1 flows FWR/FWS/AGSP21750.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:21750 seen, 0 mismatched
tier2_flowsthe_algebra_is_bit_identical_once_exp_and_pow_agreetier1 flows CPDH7250.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:7250 seen, 0 mismatched
tier2_flowsthe_algebra_is_bit_identical_once_exp_and_pow_agreetier1 flows HST(9) after the compressor bump7250.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:7250 seen, 0 mismatched
tier2_flowsthe_flow_network_matches_the_fortran_over_all_three_poolstier1 flows FTM (the 10 assembled streams)242500.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:242500 seen, 0 mismatched
tier2_flowsthe_flow_network_matches_the_fortran_over_all_three_poolstier1 flows FCM (10 streams x 8)1940000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:1940000 seen, 0 mismatched
tier2_flowsthe_flow_network_matches_the_fortran_over_all_three_poolstier1 flows FWR/FWS/AGSP72750.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:72750 seen, 0 mismatched
tier2_flowsthe_flow_network_matches_the_fortran_over_all_three_poolstier1 flows CPDH24250.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:24250 seen, 0 mismatched
tier2_flowsthe_flow_network_matches_the_fortran_over_all_three_poolstier1 flows HST(9) after the compressor bump24250.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:24250 seen, 0 mismatched
tier2_flowsthe_steam_coefficient_matches_through_the_condenser_dutytier1 UAC, via QUC3000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:3000 seen, 0 mismatched
tier2_stripperthe_algebra_is_bit_identical_once_exp_and_pow_agreetier1 stripper SFR58000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:58000 seen, 0 mismatched
tier2_stripperthe_algebra_is_bit_identical_once_exp_and_pow_agreetier1 stripper FTM (5, 12): the column's own outlets14500.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:14500 seen, 0 mismatched
tier2_stripperthe_algebra_is_bit_identical_once_exp_and_pow_agreetier1 stripper FTM (7): the reactor-inlet alias7250.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:7250 seen, 0 mismatched
tier2_stripperthe_algebra_is_bit_identical_once_exp_and_pow_agreetier1 stripper FCM (5, 12): the column's own outlets116000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:116000 seen, 0 mismatched
tier2_stripperthe_algebra_is_bit_identical_once_exp_and_pow_agreetier1 stripper FCM (7): the reactor-inlet alias58000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:58000 seen, 0 mismatched
tier2_stripperthe_algebra_is_bit_identical_once_exp_and_pow_agreetier1 stripper XST (5, 12): the column's own outlets116000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:116000 seen, 0 mismatched
tier2_stripperthe_algebra_is_bit_identical_once_exp_and_pow_agreetier1 stripper XST (7): the reactor-inlet alias58000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:58000 seen, 0 mismatched
tier2_stripperthe_algebra_is_bit_identical_once_exp_and_pow_agreetier1 stripper TST (5, 7, 12)21750.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:21750 seen, 0 mismatched
tier2_stripperthe_algebra_is_bit_identical_once_exp_and_pow_agreetier1 stripper HST (5, 12): the column's own outlets14500.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:14500 seen, 0 mismatched
tier2_stripperthe_algebra_is_bit_identical_once_exp_and_pow_agreetier1 stripper HST (7): the reactor-inlet alias7250.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:7250 seen, 0 mismatched
tier2_stripperthe_stripper_matches_the_fortran_over_all_three_poolstier1 stripper SFR194000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:194000 seen, 0 mismatched
tier2_stripperthe_stripper_matches_the_fortran_over_all_three_poolstier1 stripper FTM (5, 12): the column's own outlets48500.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:48500 seen, 0 mismatched
tier2_stripperthe_stripper_matches_the_fortran_over_all_three_poolstier1 stripper FTM (7): the reactor-inlet alias24250.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:24250 seen, 0 mismatched
tier2_stripperthe_stripper_matches_the_fortran_over_all_three_poolstier1 stripper FCM (5, 12): the column's own outlets388000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:388000 seen, 0 mismatched
tier2_stripperthe_stripper_matches_the_fortran_over_all_three_poolstier1 stripper FCM (7): the reactor-inlet alias194000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:194000 seen, 0 mismatched
tier2_stripperthe_stripper_matches_the_fortran_over_all_three_poolstier1 stripper XST (5, 12): the column's own outlets388000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:388000 seen, 0 mismatched
tier2_stripperthe_stripper_matches_the_fortran_over_all_three_poolstier1 stripper XST (7): the reactor-inlet alias194000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:194000 seen, 0 mismatched
tier2_stripperthe_stripper_matches_the_fortran_over_all_three_poolstier1 stripper TST (5, 7, 12)72750.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:72750 seen, 0 mismatched
tier2_stripperthe_stripper_matches_the_fortran_over_all_three_poolstier1 stripper HST (5, 12): the column's own outlets48500.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:48500 seen, 0 mismatched
tier2_stripperthe_stripper_matches_the_fortran_over_all_three_poolstier1 stripper HST (7): the reactor-inlet alias24250.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:24250 seen, 0 mismatched
tier2_heatheat_transfer_matches_the_fortran_over_all_three_poolstier1 heat UAR24250.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:24250 seen, 0 mismatched
tier2_heatheat_transfer_matches_the_fortran_over_all_three_poolstier1 heat QUR24250.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:24250 seen, 0 mismatched
tier2_heatheat_transfer_matches_the_fortran_over_all_three_poolstier1 heat QUS24250.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:24250 seen, 0 mismatched
tier2_heatheat_transfer_matches_the_fortran_over_all_three_poolstier1 heat QUC24250.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:24250 seen, 0 mismatched
tier2_heatthe_algebra_is_bit_identical_once_exp_and_pow_agreetier1 heat UAR7250.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:7250 seen, 0 mismatched
tier2_heatthe_algebra_is_bit_identical_once_exp_and_pow_agreetier1 heat QUR7250.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:7250 seen, 0 mismatched
tier2_heatthe_algebra_is_bit_identical_once_exp_and_pow_agreetier1 heat QUS7250.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:7250 seen, 0 mismatched
tier2_heatthe_algebra_is_bit_identical_once_exp_and_pow_agreetier1 heat QUC7250.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:7250 seen, 0 mismatched
tier2_measurementsthe_algebra_is_bit_identical_once_exp_and_pow_agreetier1 XMEAS(1..22), noise-free159500.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:159500 seen, 0 mismatched
tier2_measurementsthe_measurements_match_the_fortran_over_all_three_poolstier1 XMEAS(1..22), noise-free533500.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:533500 seen, 0 mismatched
tier2_measurementsthe_shutdown_detector_agrees_with_the_fortran_on_every_statetier1 ISD as 0 or 124250.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:24250 seen, 0 mismatched
tier2_balancesall_fifty_derivatives_match_the_fortran_over_all_three_poolstier1 YP(1..50), relative to the derivative (reported)1206000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:1206000 seen, 0 mismatched
tier2_balancesall_fifty_derivatives_match_the_fortran_over_all_three_poolstier1 YP(1..50), relative to the scale of the terms (the gate)1206000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:1206000 seen, 0 mismatched
tier2_balancesall_fifty_derivatives_match_the_fortran_over_all_three_poolstier1 YP(1..50), plant frozen6500.000e0 at perturbed#369[1]0 at perturbed#369[1]p50=0 p90=0 p99=0 p100=00:6500 seen, 0 mismatched
tier2_balancesthe_whole_right_hand_side_is_bit_identical_once_exp_and_pow_agreetier1 YP(1..50), relative to the derivative (reported)358500.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:358500 seen, 0 mismatched
tier2_balancestier2_acceptance_tabletier1 YP(1..50), relative to the scale of the terms (the gate)1206000.000e0 at nominal#0[1]0 at nominal#0[1]p50=0 p90=0 p99=0 p100=00:1206000 seen, 0 mismatched

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.

tier2_unpack, vendored libm

cargo test -p tepsim-oracle --features oracle --release --test tier2_unpack -- --nocapture --test-threads 1
running 3 tests
test solving_from_a_fixed_guess_instead_of_the_seed_breaks_bit_equality ... tier1 TCV with the carried seed
  cases          : 100
  max rel err    : 0.000e0 at nominal#0[4]
  max ulp        : 0 at nominal#0[4]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:100
  non-finite     : 0 seen, 0 mismatched
tier1 TCV from a fixed guess
  cases          : 100
  max rel err    : 9.901e-16 at nominal#25[4]
  max ulp        : 6 at nominal#25[4]
  ulp percentiles: p50=1 p90=4 p99=6 p100=6
  ulp histogram  : 0:24 1:28 2:18 3:19 4:7 5:1 6:3
  non-finite     : 0 seen, 0 mismatched
ok
test the_unpacking_is_bit_identical_to_the_fortran ... ok
test the_unpacking_matches_the_fortran_over_all_three_pools ... tier1 unpack UCLR
  cases          : 19400
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:19400
  non-finite     : 0 seen, 0 mismatched
tier1 unpack UCLS
  cases          : 19400
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:19400
  non-finite     : 0 seen, 0 mismatched
tier1 unpack UCLC
  cases          : 19400
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:19400
  non-finite     : 0 seen, 0 mismatched
tier1 unpack UCVV
  cases          : 19400
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:19400
  non-finite     : 0 seen, 0 mismatched
tier1 unpack UTLR/UTLS/UTLC/UTVV
  cases          : 9700
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:9700
  non-finite     : 0 seen, 0 mismatched
tier1 unpack XLR
  cases          : 19400
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:19400
  non-finite     : 0 seen, 0 mismatched
tier1 unpack XLS
  cases          : 19400
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:19400
  non-finite     : 0 seen, 0 mismatched
tier1 unpack XLC
  cases          : 19400
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:19400
  non-finite     : 0 seen, 0 mismatched
tier1 unpack XVV
  cases          : 19400
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:19400
  non-finite     : 0 seen, 0 mismatched
tier1 unpack ESR/ESS/ESC/ESV
  cases          : 9700
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:9700
  non-finite     : 0 seen, 0 mismatched
tier1 unpack TCR/TCS/TCC/TCV
  cases          : 9700
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:9700
  non-finite     : 0 seen, 0 mismatched
tier1 unpack TKR/TKS/TKV
  cases          : 7275
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:7275
  non-finite     : 0 seen, 0 mismatched
tier1 unpack DLR/DLS/DLC
  cases          : 7275
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:7275
  non-finite     : 0 seen, 0 mismatched
tier1 unpack VLR/VLS/VLC
  cases          : 7275
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:7275
  non-finite     : 0 seen, 0 mismatched
states skipped because the port would not converge: 0
ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s

tier2_equilibrium, vendored libm

cargo test -p tepsim-oracle --features oracle --release --test tier2_equilibrium -- --nocapture --test-threads 1
running 3 tests
test the_equilibrium_matches_the_fortran_over_all_three_pools ... exp comes from the vendored libm
tier1 equilibrium VVR/VVS
  cases          : 4850
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:4850
  non-finite     : 0 seen, 0 mismatched
tier1 equilibrium PPR
  cases          : 19400
  max rel err    : 2.802e-16 at perturbed#1264[4]
  max ulp        : 2 at nominal#21[4]
  ulp percentiles: p50=0 p90=0 p99=1 p100=2
  ulp histogram  : 0:17917 1:1305 2:178
  non-finite     : 0 seen, 0 mismatched
tier1 equilibrium PPS
  cases          : 19400
  max rel err    : 2.784e-16 at perturbed#609[8]
  max ulp        : 2 at nominal#26[8]
  ulp percentiles: p50=0 p90=0 p99=1 p100=2
  ulp histogram  : 0:18322 1:899 2:179
  non-finite     : 0 seen, 0 mismatched
tier1 equilibrium PTR/PTS/PTV
  cases          : 7275
  max rel err    : 3.578e-16 at perturbed#576[2]
  max ulp        : 2 at nominal#188[1]
  ulp percentiles: p50=0 p90=0 p99=1 p100=2
  ulp histogram  : 0:7130 1:133 2:12
  non-finite     : 0 seen, 0 mismatched
tier1 equilibrium XVR
  cases          : 19400
  max rel err    : 4.843e-16 at perturbed#88[4]
  max ulp        : 3 at nominal#44[7]
  ulp percentiles: p50=0 p90=0 p99=2 p100=3
  ulp histogram  : 0:17705 1:1305 2:368 3:22
  non-finite     : 0 seen, 0 mismatched
tier1 equilibrium XVS
  cases          : 19400
  max rel err    : 4.302e-16 at perturbed#1121[7]
  max ulp        : 3 at nominal#287[3]
  ulp percentiles: p50=0 p90=0 p99=2 p100=3
  ulp histogram  : 0:18174 1:978 2:238 3:10
  non-finite     : 0 seen, 0 mismatched
tier1 equilibrium UTVR/UTVS
  cases          : 4850
  max rel err    : 4.443e-16 at perturbed#169[2]
  max ulp        : 3 at nominal#303[2]
  ulp percentiles: p50=0 p90=0 p99=1 p100=3
  ulp histogram  : 0:4733 1:82 2:32 3:3
  non-finite     : 0 seen, 0 mismatched
tier1 equilibrium UCVR
  cases          : 19400
  max rel err    : 5.077e-16 at perturbed#1281[8]
  max ulp        : 4 at perturbed#1281[8]
  ulp percentiles: p50=0 p90=0 p99=2 p100=4
  ulp histogram  : 0:18105 1:920 2:330 3:44 4:1
  non-finite     : 0 seen, 0 mismatched
tier1 equilibrium UCVS
  cases          : 19400
  max rel err    : 6.230e-16 at perturbed#169[6]
  max ulp        : 3 at perturbed#169[6]
  ulp percentiles: p50=0 p90=0 p99=1 p100=3
  ulp histogram  : 0:18585 1:713 2:98 3:4
  non-finite     : 0 seen, 0 mismatched
states skipped because the port would not converge: 0
ok
test the_ideal_gas_partial_pressures_are_bit_identical_under_the_vendored_libm ... tier1 PPR/PPS for A, B and C
  cases          : 1200
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:1200
  non-finite     : 0 seen, 0 mismatched
tier1 PTV
  cases          : 200
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:200
  non-finite     : 0 seen, 0 mismatched
ok
test the_vendored_and_platform_exp_differ_only_by_rounding ... exp over the Antoine range [0.5868, 13.0825]: 15000 arguments, 1507 differ (10.047%), worst -1 ulp
ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s

tier2_kinetics, vendored libm

cargo test -p tepsim-oracle --features oracle --release --test tier2_kinetics -- --nocapture --test-threads 1
running 3 tests
test the_inert_has_no_net_production_in_either_implementation ... tier1 CRXR(2), never assigned
  cases          : 200
  max rel err    : 0.000e0 at nominal#0[2]
  max ulp        : 0 at nominal#0[2]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:200
  non-finite     : 0 seen, 0 mismatched
ok
test the_kinetics_match_the_fortran_over_all_three_pools ... exp and pow come from the vendored libm
tier1 kinetics RR
  cases          : 9700
  max rel err    : 8.492e-16 at perturbed#618[2]
  max ulp        : 7 at perturbed#1279[1]
  ulp percentiles: p50=0 p90=2 p99=3 p100=7
  ulp histogram  : 0:7255 1:1447 2:732 3:235 4:22 5:7 6:1 7:1
  non-finite     : 0 seen, 0 mismatched
tier1 kinetics CRXR
  cases          : 19400
  max rel err    : 8.492e-16 at perturbed#618[8]
  max ulp        : 7 at perturbed#1279[4]
  ulp percentiles: p50=0 p90=2 p99=3 p100=7
  ulp histogram  : 0:14063 1:3030 2:1763 3:450 4:72 5:16 6:4 7:2
  non-finite     : 0 seen, 0 mismatched
tier1 kinetics RH
  cases          : 2425
  max rel err    : 7.419e-16 at perturbed#293[1]
  max ulp        : 6 at perturbed#293[1]
  ulp percentiles: p50=0 p90=2 p99=3 p100=6
  ulp histogram  : 0:1594 1:472 2:299 3:50 4:8 5:1 6:1
  non-finite     : 0 seen, 0 mismatched
states skipped because the port would not converge: 0
ok
test the_vendored_and_platform_pow_differ_only_by_rounding ... pow over [0.25, 5000] at orders 1.1544 and 0.3735: 40000 cases, 3992 differ (9.980%), worst -1 ulp
ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s

tier2_streams, vendored libm

cargo test -p tepsim-oracle --features oracle --release --test tier2_streams -- --nocapture --test-threads 1
running 3 tests
test the_compressor_makes_the_recycle_enthalpy_differ_from_the_purge ... HST(9) differs from HST(10) on 200 of 200 nominal states
ok
test the_stream_table_matches_the_fortran_over_all_three_pools ... exp and pow come from the vendored libm
tier1 streams XST (10 streams x 8)
  cases          : 194000
  max rel err    : 4.736e-16 at perturbed#1378[44]
  max ulp        : 4 at perturbed#1923[47]
  ulp percentiles: p50=0 p90=0 p99=1 p100=4
  ulp histogram  : 0:189849 1:3316 2:804 3:30 4:1
  non-finite     : 0 seen, 0 mismatched
tier1 streams XMWS (the 6 that exist)
  cases          : 14550
  max rel err    : 4.370e-16 at perturbed#791[4]
  max ulp        : 3 at perturbed#431[4]
  ulp percentiles: p50=0 p90=0 p99=1 p100=3
  ulp histogram  : 0:14073 1:392 2:79 3:6
  non-finite     : 0 seen, 0 mismatched
tier1 streams TST
  cases          : 24250
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:24250
  non-finite     : 0 seen, 0 mismatched
tier1 streams HST
  cases          : 24250
  max rel err    : 5.050e-16 at perturbed#1923[6]
  max ulp        : 4 at perturbed#1923[6]
  ulp percentiles: p50=0 p90=0 p99=1 p100=4
  ulp histogram  : 0:23683 1:461 2:94 3:10 4:2
  non-finite     : 0 seen, 0 mismatched
states skipped because the port would not converge: 0
ok
test the_unweighed_streams_are_zero_in_both_implementations ... 7 unweighed streams, all zero over 200 states
ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s

tier2_flows, vendored libm

cargo test -p tepsim-oracle --features oracle --release --test tier2_flows -- --nocapture --test-threads 1
running 5 tests
test component_flows_sum_to_the_stream_total ... ok
test no_sampled_state_reaches_the_purge_clamp ... lowest PTS over the whole pool: 19153.09 mmHg against a 760 threshold
ok
test the_compressor_ratio_clamps_are_exercised_by_the_adversarial_pool ... VLR at the 10% heat-transfer breakpoint              None
VLR at the 50% heat-transfer breakpoint              None
TCC at the lower stripping-factor branch             None
TCC below the lower stripping-factor branch          None
TCC at the upper stripping-factor branch             None
TCC approaching the 177 C pole                       None
TCR at the shutdown limit                            None
TCR above the shutdown limit                         None
FTM(11) at the stripping-factor threshold            None
VLR at the upper shutdown limit                      None
VLR at the lower shutdown limit                      None
VLS at the upper shutdown limit                      None
VLS at the lower shutdown limit                      None
VLC at the upper shutdown limit                      None
VLC at the lower shutdown limit                      None
PTR at the reactor pressure shutdown limit           None
PTV = PTR, the mixing-to-reactor flow clamp          None
PTR = PTS, the reactor-to-separator flow clamp       None
PTV = PTS, the recycle flow clamp                    Low
PR = 1, the compressor reverse-flow clamp            Low
PR = CPPRMX, the compressor maximum-ratio clamp      None
PR above CPPRMX, inside the clamped region           High
VLR below the lower shutdown limit                   None
VLS below the lower shutdown limit                   None
VLC below the lower shutdown limit                   None
ok
test the_flow_network_matches_the_fortran_over_all_three_pools ... exp, pow and sqrt come from the vendored libm
tier1 flows FTM (the 10 assembled streams)
  cases          : 24250
  max rel err    : 2.246e-14 at perturbed#1790[7]
  max ulp        : 125 at perturbed#1453[6]
  ulp percentiles: p50=0 p90=0 p99=5 p100>=16
  ulp histogram  : 0:23639 1:224 2:85 3:47 4:12 5:13 6:17 7:17 8:10 9:7 10:5 11:6 12:3 13:2 15:1 >=16:162
  non-finite     : 0 seen, 0 mismatched
tier1 flows FCM (10 streams x 8)
  cases          : 194000
  max rel err    : 2.268e-14 at perturbed#1790[53]
  max ulp        : 178 at perturbed#1106[43]
  ulp percentiles: p50=0 p90=0 p99=4 p100>=16
  ulp histogram  : 0:187622 1:2738 2:1090 3:426 4:288 5:119 6:88 7:62 8:43 9:57 10:38 11:31 12:25 13:47 14:66 15:90 >=16:1170
  non-finite     : 0 seen, 0 mismatched
tier1 flows FWR/FWS/AGSP
  cases          : 7275
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:7275
  non-finite     : 0 seen, 0 mismatched
tier1 flows CPDH
  cases          : 2425
  max rel err    : 2.034e-15 at perturbed#1790[1]
  max ulp        : 18 at perturbed#1790[1]
  ulp percentiles: p50=0 p90=0 p99=2 p100>=16
  ulp histogram  : 0:2312 1:71 2:20 3:6 4:5 5:6 6:1 7:3 >=16:1
  non-finite     : 0 seen, 0 mismatched
tier1 flows HST(9) after the compressor bump
  cases          : 2425
  max rel err    : 6.522e-15 at perturbed#1790[1]
  max ulp        : 42 at perturbed#1790[1]
  ulp percentiles: p50=0 p90=0 p99=2 p100>=16
  ulp histogram  : 0:2253 1:133 2:24 3:10 4:1 5:1 6:1 9:1 >=16:1
  non-finite     : 0 seen, 0 mismatched
states skipped because the port would not converge: 0
ok
test the_steam_coefficient_matches_through_the_condenser_duty ... tier1 UAC, via QUC
  cases          : 300
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:300
  non-finite     : 0 seen, 0 mismatched
300 states below 100 C, 0 at or above and excluded
ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s

tier2_stripper, vendored libm

cargo test -p tepsim-oracle --features oracle --release --test tier2_stripper -- --nocapture --test-threads 1
running 4 tests
test every_stripper_branch_is_exercised_by_the_pool ... VLR at the 10% heat-transfer breakpoint              Hyperbolic
VLR at the 50% heat-transfer breakpoint              Hyperbolic
TCC at the lower stripping-factor branch             Hyperbolic
TCC below the lower stripping-factor branch          Pinned
TCC at the upper stripping-factor branch             Hyperbolic
TCC approaching the 177 C pole                       Linear
TCR at the shutdown limit                            Hyperbolic
TCR above the shutdown limit                         Hyperbolic
FTM(11) at the stripping-factor threshold            Idle
VLR at the upper shutdown limit                      Hyperbolic
VLR at the lower shutdown limit                      Hyperbolic
VLS at the upper shutdown limit                      Hyperbolic
VLS at the lower shutdown limit                      Hyperbolic
VLC at the upper shutdown limit                      Hyperbolic
VLC at the lower shutdown limit                      Hyperbolic
PTR at the reactor pressure shutdown limit           Hyperbolic
PTV = PTR, the mixing-to-reactor flow clamp          Hyperbolic
PTR = PTS, the reactor-to-separator flow clamp       Hyperbolic
PTV = PTS, the recycle flow clamp                    Hyperbolic
PR = 1, the compressor reverse-flow clamp            Hyperbolic
PR = CPPRMX, the compressor maximum-ratio clamp      Hyperbolic
PR above CPPRMX, inside the clamped region           Hyperbolic
VLR below the lower shutdown limit                   Hyperbolic
VLS below the lower shutdown limit                   Hyperbolic
VLC below the lower shutdown limit                   Hyperbolic
branches reached: {"hyperbolic", "idle", "linear", "pinned"}
ok
test the_non_condensible_factors_never_move_in_the_fortran_either ... SFR(1..3) fixed at [0.9950000047683716, 0.9909999966621399, 0.9900000095367432] across 300 nominal and 20 adversarial states
ok
test the_reactor_inlet_is_an_alias_in_the_fortran_too ... ok
test the_stripper_matches_the_fortran_over_all_three_pools ... transcendentals come from the vendored libm
tier1 stripper SFR
  cases          : 19400
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:19400
  non-finite     : 0 seen, 0 mismatched
tier1 stripper FTM (5, 12): the column's own outlets
  cases          : 4850
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:4850
  non-finite     : 0 seen, 0 mismatched
tier1 stripper FTM (7): the reactor-inlet alias
  cases          : 2425
  max rel err    : 1.484e-15 at perturbed#817[1]
  max ulp        : 12 at perturbed#591[1]
  ulp percentiles: p50=0 p90=0 p99=5 p100=12
  ulp histogram  : 0:2322 1:1 2:19 3:46 4:5 5:8 6:15 7:6 8:1 12:2
  non-finite     : 0 seen, 0 mismatched
tier1 stripper FCM (5, 12): the column's own outlets
  cases          : 38800
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:38800
  non-finite     : 0 seen, 0 mismatched
tier1 stripper FCM (7): the reactor-inlet alias
  cases          : 19400
  max rel err    : 1.610e-15 at perturbed#817[3]
  max ulp        : 13 at perturbed#591[8]
  ulp percentiles: p50=0 p90=0 p99=4 p100=13
  ulp histogram  : 0:18576 1:6 2:100 3:313 4:228 5:103 6:33 7:15 8:11 9:8 10:1 11:3 12:2 13:1
  non-finite     : 0 seen, 0 mismatched
tier1 stripper XST (5, 12): the column's own outlets
  cases          : 38800
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:38800
  non-finite     : 0 seen, 0 mismatched
tier1 stripper XST (7): the reactor-inlet alias
  cases          : 19400
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:19400
  non-finite     : 0 seen, 0 mismatched
tier1 stripper TST (5, 7, 12)
  cases          : 7275
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:7275
  non-finite     : 0 seen, 0 mismatched
tier1 stripper HST (5, 12): the column's own outlets
  cases          : 4850
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:4850
  non-finite     : 0 seen, 0 mismatched
tier1 stripper HST (7): the reactor-inlet alias
  cases          : 2425
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:2425
  non-finite     : 0 seen, 0 mismatched
states skipped because the port would not converge: 0
ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s

tier2_heat, vendored libm

cargo test -p tepsim-oracle --features oracle --release --test tier2_heat -- --nocapture --test-threads 1
running 4 tests
test both_sides_of_the_steam_cutoff_are_exercised ... steam on: 423 states, off: 2 states
ok
test every_level_branch_is_exercised_by_the_pool ... VLR at the 10% heat-transfer breakpoint              dry
VLR at the 50% heat-transfer breakpoint              ramp
TCC at the lower stripping-factor branch             fully wetted
TCC below the lower stripping-factor branch          fully wetted
TCC at the upper stripping-factor branch             fully wetted
TCC approaching the 177 C pole                       fully wetted
TCR at the shutdown limit                            fully wetted
TCR above the shutdown limit                         fully wetted
FTM(11) at the stripping-factor threshold            fully wetted
VLR at the upper shutdown limit                      fully wetted
VLR at the lower shutdown limit                      dry
VLS at the upper shutdown limit                      fully wetted
VLS at the lower shutdown limit                      fully wetted
VLC at the upper shutdown limit                      fully wetted
VLC at the lower shutdown limit                      fully wetted
PTR at the reactor pressure shutdown limit           fully wetted
PTV = PTR, the mixing-to-reactor flow clamp          fully wetted
PTR = PTS, the reactor-to-separator flow clamp       fully wetted
PTV = PTS, the recycle flow clamp                    fully wetted
PR = 1, the compressor reverse-flow clamp            fully wetted
PR = CPPRMX, the compressor maximum-ratio clamp      fully wetted
PR above CPPRMX, inside the clamped region           fully wetted
VLR below the lower shutdown limit                   dry
VLS below the lower shutdown limit                   fully wetted
VLC below the lower shutdown limit                   fully wetted
level branches reached: {"dry", "fully wetted", "ramp"}
ok
test heat_transfer_matches_the_fortran_over_all_three_pools ... transcendentals come from the vendored libm
tier1 heat UAR
  cases          : 2425
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:2425
  non-finite     : 0 seen, 0 mismatched
tier1 heat QUR
  cases          : 2425
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:2425
  non-finite     : 0 seen, 0 mismatched
tier1 heat QUS
  cases          : 2425
  max rel err    : 9.572e-13 at perturbed#50[1]
  max ulp        : 8009 at perturbed#50[1]
  ulp percentiles: p50=0 p90=0 p99>=16 p100>=16
  ulp histogram  : 0:2196 1:23 2:14 3:10 4:21 5:9 6:3 7:10 8:4 9:2 10:3 11:1 12:3 13:3 14:6 15:1 >=16:116
  non-finite     : 0 seen, 0 mismatched
tier1 heat QUC
  cases          : 2425
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:2425
  non-finite     : 0 seen, 0 mismatched
states skipped because the port would not converge: 0
ok
test the_condenser_driving_difference_is_large_enough_to_discriminate ... smallest gap between TST(8) and TCS as the driving temperature: 40.2906 C
ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s

tier2_measurements, vendored libm

cargo test -p tepsim-oracle --features oracle --release --test tier2_measurements -- --nocapture --test-threads 1
running 4 tests
test the_measurements_match_the_fortran_over_all_three_pools ... transcendentals come from the vendored libm
tier1 XMEAS(1..22), noise-free
  cases          : 53350
  max rel err    : 8.774e-15 at perturbed#1851[5]
  max ulp        : 78 at perturbed#1851[5]
  ulp percentiles: p50=0 p90=0 p99=1 p100>=16
  ulp histogram  : 0:52801 1:226 2:132 3:58 4:44 5:23 6:7 7:7 8:3 9:4 13:1 14:3 >=16:41
  non-finite     : 0 seen, 0 mismatched
states skipped because the port would not converge: 0
ok
test the_pool_reaches_several_distinct_shutdown_causes ... TCR at the shutdown limit                            ["reactor pressure high"]
TCR above the shutdown limit                         ["reactor pressure high", "reactor temperature high"]
VLR at the upper shutdown limit                      ["reactor pressure high", "reactor level high"]
VLS at the upper shutdown limit                      ["separator level high"]
VLC at the upper shutdown limit                      ["stripper level high"]
VLR below the lower shutdown limit                   ["reactor level low"]
VLS below the lower shutdown limit                   ["separator level low"]
VLC below the lower shutdown limit                   ["stripper level low"]
shutdown causes reached: {"reactor level high", "reactor level low", "reactor pressure high", "reactor temperature high", "separator level high", "separator level low", "stripper level high", "stripper level low"}
ok
test the_shutdown_detector_agrees_with_the_fortran_on_every_state ... tier1 ISD as 0 or 1
  cases          : 2425
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:2425
  non-finite     : 0 seen, 0 mismatched
12 states trip, 2413 do not
ok
test time_zero_is_what_suppresses_the_noise ... 22 of 22 measurements differ with the clock running
ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s

tier2_balances, vendored libm

cargo test -p tepsim-oracle --features oracle --release --test tier2_balances -- --nocapture --test-threads 1
running 4 tests
test all_fifty_derivatives_match_the_fortran_over_all_three_pools ... transcendentals come from the vendored libm
tier1 YP(1..50), relative to the derivative (reported)
  cases          : 120600
  max rel err    : 1.393e-4 at nominal#303[2]
  max ulp        : 738734374912 at nominal#303[2]
  ulp percentiles: p50=0 p90=2 p99>=16 p100>=16
  ulp histogram  : 0:107101 1:935 2:1289 3:101 4:1512 5:22 6:176 7:14 8:1354 9:19 10:35 11:7 12:166 13:4 14:21 15:11 >=16:7833
  non-finite     : 0 seen, 0 mismatched
tier1 YP(1..50), relative to the scale of the terms (the gate)
  cases          : 120600
  max rel err    : 6.093e-14 at perturbed#300[7]
  max ulp        : 738734374912 at nominal#303[2]
  ulp percentiles: p50=0 p90=2 p99>=16 p100>=16
  ulp histogram  : 0:107101 1:935 2:1289 3:101 4:1512 5:22 6:176 7:14 8:1354 9:19 10:35 11:7 12:166 13:4 14:21 15:11 >=16:7833
  non-finite     : 0 seen, 0 mismatched
tier1 YP(1..50), plant frozen
  cases          : 650
  max rel err    : 0.000e0 at perturbed#369[1]
  max ulp        : 0 at perturbed#369[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:650
  non-finite     : 0 seen, 0 mismatched
2412 states running, 13 frozen, 0 skipped
ok
test every_derivative_slot_actually_moves_somewhere_in_the_pool ... 50 of 50 slots move somewhere in the pool
ok
test the_quirk_fix_changes_only_the_frozen_states ... the fix changes 8 tripping boundaries and leaves 17 alone
ok
test tier2_acceptance_table ... Tier 2 acceptance, 2412 running states
gate: error / scale-of-terms < 1e-12

  YP   err/scale    err/value   ratio
   1   2.537e-14   8.181e-8    3224593x
   2   3.826e-14   3.401e-5   889000607x
   3   2.187e-14   7.030e-8    3214801x
   4   5.557e-15   2.377e-8    4277976x
   5   2.688e-14   5.845e-8    2174388x
   6   4.370e-14   2.889e-7    6610686x
   7   6.093e-14   1.920e-5   315124861x
   8   5.039e-14   8.304e-7   16478948x
   9   3.115e-14   1.445e-8     463960x
  10   2.910e-14   3.896e-8    1338742x
  11   2.899e-14   2.981e-7   10282117x
  12   2.918e-14   2.702e-8     925989x
  13   2.755e-14   3.689e-8    1339161x
  14   3.113e-14   1.779e-7    5713202x
  15   3.415e-14   1.068e-7    3128911x
  16   5.759e-14   1.020e-6   17702099x
  17   4.644e-14   7.407e-9     159498x
  18   5.136e-14   2.280e-8     444028x
  19   0.000e0   0.000e0          1x
  20   0.000e0   0.000e0          1x
  21   0.000e0   0.000e0          1x
  22   0.000e0   0.000e0          1x
  23   0.000e0   0.000e0          1x
  24   0.000e0   0.000e0          1x
  25   0.000e0   0.000e0          1x
  26   0.000e0   0.000e0          1x
  27   0.000e0   0.000e0          1x
  28   5.276e-15   3.361e-8    6370459x
  29   7.713e-15   1.852e-7   24013923x
  30   4.567e-15   3.551e-8    7774685x
  31   1.241e-15   4.665e-9    3760128x
  32   5.087e-15   3.403e-8    6689516x
  33   7.093e-15   3.078e-7   43390364x
  34   6.921e-15   2.810e-8    4059475x
  35   7.220e-15   6.372e-9     882549x
  36   5.298e-15   9.721e-7   183496207x
  37   0.000e0   0.000e0          1x
  38   7.969e-15   5.112e-7   64146903x
  39   0.000e0   0.000e0          1x
  40   0.000e0   0.000e0          1x
  41   0.000e0   0.000e0          1x
  42   0.000e0   0.000e0          1x
  43   0.000e0   0.000e0          1x
  44   0.000e0   0.000e0          1x
  45   0.000e0   0.000e0          1x
  46   0.000e0   0.000e0          1x
  47   0.000e0   0.000e0          1x
  48   0.000e0   0.000e0          1x
  49   0.000e0   0.000e0          1x
  50   0.000e0   0.000e0          1x

worst component: YP(7) at 6.093e-14 of its own scale
tier1 YP(1..50), relative to the scale of the terms (the gate)
  cases          : 120600
  max rel err    : 6.093e-14 at perturbed#300[7]
  max ulp        : 206158430208 at nominal#296[2]
  ulp percentiles: p50=0 p90=2 p99>=16 p100>=16
  ulp histogram  : 0:107280 1:890 2:1293 3:113 4:1468 5:32 6:163 7:17 8:1240 9:19 10:42 11:11 12:166 13:7 14:26 15:11 >=16:7822
  non-finite     : 0 seen, 0 mismatched
28 of 50 components cancel by more than 100x
ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.20s

tier4_closed_loop, platform libm

cargo test -p tepsim-oracle --features oracle,libm-system --release --test tier4_closed_loop -- --nocapture --test-threads 1
running 5 tests
test the_closed_loop_plant_matches_the_fortran_driver ... closed loop, platform libm, 10 h (36000 steps)
  worst XMEAS  : 0.000e0 at XMEAS(0)
  worst XMV    : 0.000e0 %range at XMV(0)
  within XNS   : 10.000 h of 10, ending at 0.000e0 x XNS(0)
  first split  : never
ok
test the_controlled_plant_runs_the_full_horizon_without_tripping ... 10 h (36000 steps): fortran up, port closed-loop up, port open-loop tripped at step 11017 (3.060 h) on Some(ReactorPressureHigh)
ok
test the_controllers_read_the_previous_steps_measurements ... XMV(7) on the first fire: previous-step 34.147823842, current-step 35.623679189, fortran 34.147823842
ok
test the_driver_forces_idv12_at_the_eight_hour_mark ... ok
test the_forced_disturbance_changes_the_plant_measurably ... D-011, 10 h, faithful against fixed:
  first split, port   : Some((29390, 22))
  first split, fortran: Some((29390, 22))
  worst over the run  : 1.092e-1 at XMEAS(37)
  worst at the end    : 3.262e-2 at XMEAS(38)
ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.29s

tier5_invariants, platform libm

cargo test -p tepsim-oracle --features oracle,libm-system --release --test tier5_invariants -- --nocapture --test-threads 1
running 9 tests
test each_reaction_balances_on_paper ... ok
test every_component_balances_on_moles ... I-4 on the Fortran over 1 h: worst 7.436e-15 relative, on F at step          627; largest reaction term seen 457.5 lbmol/h
ok
test every_component_balances_on_moles_in_the_port ... I-4 on the port at the nominal state: worst 2.892e-15 relative, on F
ok
test the_fortran_conserves_mass_across_the_reaction ... I-1 on the Fortran: 200 states, worst residual 4.664e-16 of the term scale, at pool index 130
ok
test the_inert_has_no_reaction_term ... I-3: CRXR(2) is zero across 100 reacting states
ok
test the_plant_balances_mass_away_from_steady_state ... I-2 along 2 h open loop: worst 6.556e-16 relative at step 6570, where the accumulation term is 0.1 lb/h
  accumulation 0.0613 lb/h against a residual of about 2.10e-11 lb/h: a factor of 2.9e9
ok
test the_port_conserves_mass_across_the_reaction ... I-1 on the port: 200 states, worst residual 4.664e-16 of the term scale, at pool index 22
ok
test the_ported_plant_balances_mass ... I-2 on the port at the nominal state: residual 6.693535e-12 lb/h against 32191.8 lb/h, 2.079e-16 relative
ok
test the_whole_plant_balances_mass ... I-2 on the Fortran at the nominal state: residual 6.693535e-12 lb/h against a throughput of 32191.8 lb/h, 2.079e-16 relative
ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.29s

tier5_runs, platform libm

cargo test -p tepsim-oracle --features oracle,libm-system --release --test tier5_runs -- --nocapture --test-threads 1
running 10 tests
test a_run_is_reproducible_from_its_scenario_and_seed ... ok
test both_sources_produce_the_same_shape ... 2 h gives 40 samples of 53 variables
ok
test different_seeds_give_different_runs ... five nominal seeds: worst relative spread 1.366e1
ok
test every_disturbance_moves_the_plant ...   IDV(1)   worst departure from nominal 2.456e0
  IDV(2)   worst departure from nominal 5.964e-1
  IDV(3)   worst departure from nominal 4.076e-3
  IDV(4)   worst departure from nominal 1.396e-1
  IDV(5)   worst departure from nominal 3.522e-1
  IDV(6)   worst departure from nominal 3.467e0
  IDV(7)   worst departure from nominal 7.595e-1
  IDV(8)   worst departure from nominal 3.927e-1
  IDV(9)   worst departure from nominal 3.531e-3
  IDV(10)  worst departure from nominal 1.801e-2
  IDV(11)  worst departure from nominal 1.798e-1
  IDV(12)  worst departure from nominal 1.413e-1
  IDV(13)  worst departure from nominal 1.956e-1
  IDV(14)  worst departure from nominal 2.626e-1
  IDV(15)  worst departure from nominal 9.839e-3
  IDV(16)  worst departure from nominal 7.772e-2
  IDV(17)  worst departure from nominal 7.203e-2
  IDV(18)  worst departure from nominal 3.782e-1
  IDV(19)  worst departure from nominal 7.098e-2
  IDV(20)  worst departure from nominal 9.324e-2
ok
test every_seed_is_a_valid_generator_word ... ok
test the_battery_sizes_are_what_they_claim ... full battery: 2100 runs per source, 960 samples each, about 27 min per source at 766 ms per 48 h run
ok
test the_published_seed_table_is_transcribed_correctly ... published seeds: 34 of 54 exceed 2^32, 27 of 54 are          even
ok
test the_sticking_valve_divergence_is_the_transcendentals ... IDV(14), XMV(10): worst absolute difference 0.000e0 with the platform libm
ok
test the_two_sources_agree_over_a_whole_run ... nominal: worst 0.000e0 at sample 0 variable 1 (platform libm)
IDV(1): worst 0.000e0 at sample 0 variable 1 (platform libm)
IDV(13): worst 0.000e0 at sample 0 variable 1 (platform libm)
IDV(14): worst 0.000e0 at sample 0 variable 1 (platform libm)
IDV(19): worst 0.000e0 at sample 0 variable 1 (platform libm)
ok
test there_are_twenty_faults_and_twenty_one_scenarios ... ok

test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.87s

tier2_equilibrium, platform libm

cargo test -p tepsim-oracle --features oracle,libm-system --release --test tier2_equilibrium -- --nocapture --test-threads 1
running 3 tests
test the_algebra_is_bit_identical_once_exp_agrees ... tier1 equilibrium VVR/VVS
  cases          : 1450
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:1450
  non-finite     : 0 seen, 0 mismatched
tier1 equilibrium PPR
  cases          : 5800
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:5800
  non-finite     : 0 seen, 0 mismatched
tier1 equilibrium PPS
  cases          : 5800
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:5800
  non-finite     : 0 seen, 0 mismatched
tier1 equilibrium PTR/PTS/PTV
  cases          : 2175
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:2175
  non-finite     : 0 seen, 0 mismatched
tier1 equilibrium XVR
  cases          : 5800
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:5800
  non-finite     : 0 seen, 0 mismatched
tier1 equilibrium XVS
  cases          : 5800
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:5800
  non-finite     : 0 seen, 0 mismatched
tier1 equilibrium UTVR/UTVS
  cases          : 1450
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:1450
  non-finite     : 0 seen, 0 mismatched
tier1 equilibrium UCVR
  cases          : 5800
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:5800
  non-finite     : 0 seen, 0 mismatched
tier1 equilibrium UCVS
  cases          : 5800
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:5800
  non-finite     : 0 seen, 0 mismatched
ok
test the_equilibrium_matches_the_fortran_over_all_three_pools ... exp comes from the platform libm
tier1 equilibrium VVR/VVS
  cases          : 4850
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:4850
  non-finite     : 0 seen, 0 mismatched
tier1 equilibrium PPR
  cases          : 19400
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:19400
  non-finite     : 0 seen, 0 mismatched
tier1 equilibrium PPS
  cases          : 19400
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:19400
  non-finite     : 0 seen, 0 mismatched
tier1 equilibrium PTR/PTS/PTV
  cases          : 7275
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:7275
  non-finite     : 0 seen, 0 mismatched
tier1 equilibrium XVR
  cases          : 19400
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:19400
  non-finite     : 0 seen, 0 mismatched
tier1 equilibrium XVS
  cases          : 19400
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:19400
  non-finite     : 0 seen, 0 mismatched
tier1 equilibrium UTVR/UTVS
  cases          : 4850
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:4850
  non-finite     : 0 seen, 0 mismatched
tier1 equilibrium UCVR
  cases          : 19400
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:19400
  non-finite     : 0 seen, 0 mismatched
tier1 equilibrium UCVS
  cases          : 19400
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:19400
  non-finite     : 0 seen, 0 mismatched
states skipped because the port would not converge: 0
ok
test the_vendored_and_platform_exp_differ_only_by_rounding ... exp over the Antoine range [0.5868, 13.0825]: 15000 arguments, 0 differ (0.000%), worst 0 ulp
ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s

tier2_kinetics, platform libm

cargo test -p tepsim-oracle --features oracle,libm-system --release --test tier2_kinetics -- --nocapture --test-threads 1
running 4 tests
test the_algebra_is_bit_identical_once_exp_and_pow_agree ... tier1 kinetics RR
  cases          : 2900
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:2900
  non-finite     : 0 seen, 0 mismatched
tier1 kinetics CRXR
  cases          : 5800
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:5800
  non-finite     : 0 seen, 0 mismatched
tier1 kinetics RH
  cases          : 725
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:725
  non-finite     : 0 seen, 0 mismatched
ok
test the_inert_has_no_net_production_in_either_implementation ... tier1 CRXR(2), never assigned
  cases          : 200
  max rel err    : 0.000e0 at nominal#0[2]
  max ulp        : 0 at nominal#0[2]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:200
  non-finite     : 0 seen, 0 mismatched
ok
test the_kinetics_match_the_fortran_over_all_three_pools ... exp and pow come from the platform libm
tier1 kinetics RR
  cases          : 9700
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:9700
  non-finite     : 0 seen, 0 mismatched
tier1 kinetics CRXR
  cases          : 19400
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:19400
  non-finite     : 0 seen, 0 mismatched
tier1 kinetics RH
  cases          : 2425
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:2425
  non-finite     : 0 seen, 0 mismatched
states skipped because the port would not converge: 0
ok
test the_vendored_and_platform_pow_differ_only_by_rounding ... pow over [0.25, 5000] at orders 1.1544 and 0.3735: 40000 cases, 0 differ (0.000%), worst 0 ulp
ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s

tier2_streams, platform libm

cargo test -p tepsim-oracle --features oracle,libm-system --release --test tier2_streams -- --nocapture --test-threads 1
running 4 tests
test the_algebra_is_bit_identical_once_exp_and_pow_agree ... tier1 streams XST (10 streams x 8)
  cases          : 58000
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:58000
  non-finite     : 0 seen, 0 mismatched
tier1 streams XMWS (the 6 that exist)
  cases          : 4350
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:4350
  non-finite     : 0 seen, 0 mismatched
tier1 streams TST
  cases          : 7250
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:7250
  non-finite     : 0 seen, 0 mismatched
tier1 streams HST
  cases          : 7250
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:7250
  non-finite     : 0 seen, 0 mismatched
ok
test the_compressor_makes_the_recycle_enthalpy_differ_from_the_purge ... HST(9) differs from HST(10) on 200 of 200 nominal states
ok
test the_stream_table_matches_the_fortran_over_all_three_pools ... exp and pow come from the platform libm
tier1 streams XST (10 streams x 8)
  cases          : 194000
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:194000
  non-finite     : 0 seen, 0 mismatched
tier1 streams XMWS (the 6 that exist)
  cases          : 14550
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:14550
  non-finite     : 0 seen, 0 mismatched
tier1 streams TST
  cases          : 24250
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:24250
  non-finite     : 0 seen, 0 mismatched
tier1 streams HST
  cases          : 24250
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:24250
  non-finite     : 0 seen, 0 mismatched
states skipped because the port would not converge: 0
ok
test the_unweighed_streams_are_zero_in_both_implementations ... 7 unweighed streams, all zero over 200 states
ok

test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s

tier2_flows, platform libm

cargo test -p tepsim-oracle --features oracle,libm-system --release --test tier2_flows -- --nocapture --test-threads 1
running 6 tests
test component_flows_sum_to_the_stream_total ... ok
test no_sampled_state_reaches_the_purge_clamp ... lowest PTS over the whole pool: 19153.09 mmHg against a 760 threshold
ok
test the_algebra_is_bit_identical_once_exp_and_pow_agree ... tier1 flows FTM (the 10 assembled streams)
  cases          : 7250
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:7250
  non-finite     : 0 seen, 0 mismatched
tier1 flows FCM (10 streams x 8)
  cases          : 58000
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:58000
  non-finite     : 0 seen, 0 mismatched
tier1 flows FWR/FWS/AGSP
  cases          : 2175
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:2175
  non-finite     : 0 seen, 0 mismatched
tier1 flows CPDH
  cases          : 725
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:725
  non-finite     : 0 seen, 0 mismatched
tier1 flows HST(9) after the compressor bump
  cases          : 725
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:725
  non-finite     : 0 seen, 0 mismatched
ok
test the_compressor_ratio_clamps_are_exercised_by_the_adversarial_pool ... VLR at the 10% heat-transfer breakpoint              None
VLR at the 50% heat-transfer breakpoint              None
TCC at the lower stripping-factor branch             None
TCC below the lower stripping-factor branch          None
TCC at the upper stripping-factor branch             None
TCC approaching the 177 C pole                       None
TCR at the shutdown limit                            None
TCR above the shutdown limit                         None
FTM(11) at the stripping-factor threshold            None
VLR at the upper shutdown limit                      None
VLR at the lower shutdown limit                      None
VLS at the upper shutdown limit                      None
VLS at the lower shutdown limit                      None
VLC at the upper shutdown limit                      None
VLC at the lower shutdown limit                      None
PTR at the reactor pressure shutdown limit           None
PTV = PTR, the mixing-to-reactor flow clamp          None
PTR = PTS, the reactor-to-separator flow clamp       None
PTV = PTS, the recycle flow clamp                    Low
PR = 1, the compressor reverse-flow clamp            Low
PR = CPPRMX, the compressor maximum-ratio clamp      None
PR above CPPRMX, inside the clamped region           High
VLR below the lower shutdown limit                   None
VLS below the lower shutdown limit                   None
VLC below the lower shutdown limit                   None
ok
test the_flow_network_matches_the_fortran_over_all_three_pools ... exp, pow and sqrt come from the platform libm
tier1 flows FTM (the 10 assembled streams)
  cases          : 24250
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:24250
  non-finite     : 0 seen, 0 mismatched
tier1 flows FCM (10 streams x 8)
  cases          : 194000
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:194000
  non-finite     : 0 seen, 0 mismatched
tier1 flows FWR/FWS/AGSP
  cases          : 7275
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:7275
  non-finite     : 0 seen, 0 mismatched
tier1 flows CPDH
  cases          : 2425
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:2425
  non-finite     : 0 seen, 0 mismatched
tier1 flows HST(9) after the compressor bump
  cases          : 2425
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:2425
  non-finite     : 0 seen, 0 mismatched
states skipped because the port would not converge: 0
ok
test the_steam_coefficient_matches_through_the_condenser_duty ... tier1 UAC, via QUC
  cases          : 300
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:300
  non-finite     : 0 seen, 0 mismatched
300 states below 100 C, 0 at or above and excluded
ok

test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.19s

tier2_stripper, platform libm

cargo test -p tepsim-oracle --features oracle,libm-system --release --test tier2_stripper -- --nocapture --test-threads 1
running 5 tests
test every_stripper_branch_is_exercised_by_the_pool ... VLR at the 10% heat-transfer breakpoint              Hyperbolic
VLR at the 50% heat-transfer breakpoint              Hyperbolic
TCC at the lower stripping-factor branch             Hyperbolic
TCC below the lower stripping-factor branch          Pinned
TCC at the upper stripping-factor branch             Hyperbolic
TCC approaching the 177 C pole                       Linear
TCR at the shutdown limit                            Hyperbolic
TCR above the shutdown limit                         Hyperbolic
FTM(11) at the stripping-factor threshold            Idle
VLR at the upper shutdown limit                      Hyperbolic
VLR at the lower shutdown limit                      Hyperbolic
VLS at the upper shutdown limit                      Hyperbolic
VLS at the lower shutdown limit                      Hyperbolic
VLC at the upper shutdown limit                      Hyperbolic
VLC at the lower shutdown limit                      Hyperbolic
PTR at the reactor pressure shutdown limit           Hyperbolic
PTV = PTR, the mixing-to-reactor flow clamp          Hyperbolic
PTR = PTS, the reactor-to-separator flow clamp       Hyperbolic
PTV = PTS, the recycle flow clamp                    Hyperbolic
PR = 1, the compressor reverse-flow clamp            Hyperbolic
PR = CPPRMX, the compressor maximum-ratio clamp      Hyperbolic
PR above CPPRMX, inside the clamped region           Hyperbolic
VLR below the lower shutdown limit                   Hyperbolic
VLS below the lower shutdown limit                   Hyperbolic
VLC below the lower shutdown limit                   Hyperbolic
branches reached: {"hyperbolic", "idle", "linear", "pinned"}
ok
test the_algebra_is_bit_identical_once_exp_and_pow_agree ... tier1 stripper SFR
  cases          : 5800
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:5800
  non-finite     : 0 seen, 0 mismatched
tier1 stripper FTM (5, 12): the column's own outlets
  cases          : 1450
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:1450
  non-finite     : 0 seen, 0 mismatched
tier1 stripper FTM (7): the reactor-inlet alias
  cases          : 725
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:725
  non-finite     : 0 seen, 0 mismatched
tier1 stripper FCM (5, 12): the column's own outlets
  cases          : 11600
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:11600
  non-finite     : 0 seen, 0 mismatched
tier1 stripper FCM (7): the reactor-inlet alias
  cases          : 5800
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:5800
  non-finite     : 0 seen, 0 mismatched
tier1 stripper XST (5, 12): the column's own outlets
  cases          : 11600
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:11600
  non-finite     : 0 seen, 0 mismatched
tier1 stripper XST (7): the reactor-inlet alias
  cases          : 5800
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:5800
  non-finite     : 0 seen, 0 mismatched
tier1 stripper TST (5, 7, 12)
  cases          : 2175
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:2175
  non-finite     : 0 seen, 0 mismatched
tier1 stripper HST (5, 12): the column's own outlets
  cases          : 1450
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:1450
  non-finite     : 0 seen, 0 mismatched
tier1 stripper HST (7): the reactor-inlet alias
  cases          : 725
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:725
  non-finite     : 0 seen, 0 mismatched
ok
test the_non_condensible_factors_never_move_in_the_fortran_either ... SFR(1..3) fixed at [0.9950000047683716, 0.9909999966621399, 0.9900000095367432] across 300 nominal and 20 adversarial states
ok
test the_reactor_inlet_is_an_alias_in_the_fortran_too ... ok
test the_stripper_matches_the_fortran_over_all_three_pools ... transcendentals come from the platform libm
tier1 stripper SFR
  cases          : 19400
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:19400
  non-finite     : 0 seen, 0 mismatched
tier1 stripper FTM (5, 12): the column's own outlets
  cases          : 4850
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:4850
  non-finite     : 0 seen, 0 mismatched
tier1 stripper FTM (7): the reactor-inlet alias
  cases          : 2425
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:2425
  non-finite     : 0 seen, 0 mismatched
tier1 stripper FCM (5, 12): the column's own outlets
  cases          : 38800
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:38800
  non-finite     : 0 seen, 0 mismatched
tier1 stripper FCM (7): the reactor-inlet alias
  cases          : 19400
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:19400
  non-finite     : 0 seen, 0 mismatched
tier1 stripper XST (5, 12): the column's own outlets
  cases          : 38800
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:38800
  non-finite     : 0 seen, 0 mismatched
tier1 stripper XST (7): the reactor-inlet alias
  cases          : 19400
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:19400
  non-finite     : 0 seen, 0 mismatched
tier1 stripper TST (5, 7, 12)
  cases          : 7275
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:7275
  non-finite     : 0 seen, 0 mismatched
tier1 stripper HST (5, 12): the column's own outlets
  cases          : 4850
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:4850
  non-finite     : 0 seen, 0 mismatched
tier1 stripper HST (7): the reactor-inlet alias
  cases          : 2425
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:2425
  non-finite     : 0 seen, 0 mismatched
states skipped because the port would not converge: 0
ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s

tier2_heat, platform libm

cargo test -p tepsim-oracle --features oracle,libm-system --release --test tier2_heat -- --nocapture --test-threads 1
running 5 tests
test both_sides_of_the_steam_cutoff_are_exercised ... steam on: 423 states, off: 2 states
ok
test every_level_branch_is_exercised_by_the_pool ... VLR at the 10% heat-transfer breakpoint              dry
VLR at the 50% heat-transfer breakpoint              ramp
TCC at the lower stripping-factor branch             fully wetted
TCC below the lower stripping-factor branch          fully wetted
TCC at the upper stripping-factor branch             fully wetted
TCC approaching the 177 C pole                       fully wetted
TCR at the shutdown limit                            fully wetted
TCR above the shutdown limit                         fully wetted
FTM(11) at the stripping-factor threshold            fully wetted
VLR at the upper shutdown limit                      fully wetted
VLR at the lower shutdown limit                      dry
VLS at the upper shutdown limit                      fully wetted
VLS at the lower shutdown limit                      fully wetted
VLC at the upper shutdown limit                      fully wetted
VLC at the lower shutdown limit                      fully wetted
PTR at the reactor pressure shutdown limit           fully wetted
PTV = PTR, the mixing-to-reactor flow clamp          fully wetted
PTR = PTS, the reactor-to-separator flow clamp       fully wetted
PTV = PTS, the recycle flow clamp                    fully wetted
PR = 1, the compressor reverse-flow clamp            fully wetted
PR = CPPRMX, the compressor maximum-ratio clamp      fully wetted
PR above CPPRMX, inside the clamped region           fully wetted
VLR below the lower shutdown limit                   dry
VLS below the lower shutdown limit                   fully wetted
VLC below the lower shutdown limit                   fully wetted
level branches reached: {"dry", "fully wetted", "ramp"}
ok
test heat_transfer_matches_the_fortran_over_all_three_pools ... transcendentals come from the platform libm
tier1 heat UAR
  cases          : 2425
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:2425
  non-finite     : 0 seen, 0 mismatched
tier1 heat QUR
  cases          : 2425
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:2425
  non-finite     : 0 seen, 0 mismatched
tier1 heat QUS
  cases          : 2425
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:2425
  non-finite     : 0 seen, 0 mismatched
tier1 heat QUC
  cases          : 2425
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:2425
  non-finite     : 0 seen, 0 mismatched
states skipped because the port would not converge: 0
ok
test the_algebra_is_bit_identical_once_exp_and_pow_agree ... tier1 heat UAR
  cases          : 725
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:725
  non-finite     : 0 seen, 0 mismatched
tier1 heat QUR
  cases          : 725
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:725
  non-finite     : 0 seen, 0 mismatched
tier1 heat QUS
  cases          : 725
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:725
  non-finite     : 0 seen, 0 mismatched
tier1 heat QUC
  cases          : 725
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:725
  non-finite     : 0 seen, 0 mismatched
ok
test the_condenser_driving_difference_is_large_enough_to_discriminate ... smallest gap between TST(8) and TCS as the driving temperature: 40.2906 C
ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.20s

tier2_measurements, platform libm

cargo test -p tepsim-oracle --features oracle,libm-system --release --test tier2_measurements -- --nocapture --test-threads 1
running 5 tests
test the_algebra_is_bit_identical_once_exp_and_pow_agree ... tier1 XMEAS(1..22), noise-free
  cases          : 15950
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:15950
  non-finite     : 0 seen, 0 mismatched
ok
test the_measurements_match_the_fortran_over_all_three_pools ... transcendentals come from the platform libm
tier1 XMEAS(1..22), noise-free
  cases          : 53350
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:53350
  non-finite     : 0 seen, 0 mismatched
states skipped because the port would not converge: 0
ok
test the_pool_reaches_several_distinct_shutdown_causes ... TCR at the shutdown limit                            ["reactor pressure high"]
TCR above the shutdown limit                         ["reactor pressure high", "reactor temperature high"]
VLR at the upper shutdown limit                      ["reactor pressure high", "reactor level high"]
VLS at the upper shutdown limit                      ["separator level high"]
VLC at the upper shutdown limit                      ["stripper level high"]
VLR below the lower shutdown limit                   ["reactor level low"]
VLS below the lower shutdown limit                   ["separator level low"]
VLC below the lower shutdown limit                   ["stripper level low"]
shutdown causes reached: {"reactor level high", "reactor level low", "reactor pressure high", "reactor temperature high", "separator level high", "separator level low", "stripper level high", "stripper level low"}
ok
test the_shutdown_detector_agrees_with_the_fortran_on_every_state ... tier1 ISD as 0 or 1
  cases          : 2425
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:2425
  non-finite     : 0 seen, 0 mismatched
12 states trip, 2413 do not
ok
test time_zero_is_what_suppresses_the_noise ... 22 of 22 measurements differ with the clock running
ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s

tier2_balances, platform libm

cargo test -p tepsim-oracle --features oracle,libm-system --release --test tier2_balances -- --nocapture --test-threads 1
running 5 tests
test all_fifty_derivatives_match_the_fortran_over_all_three_pools ... transcendentals come from the platform libm
tier1 YP(1..50), relative to the derivative (reported)
  cases          : 120600
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:120600
  non-finite     : 0 seen, 0 mismatched
tier1 YP(1..50), relative to the scale of the terms (the gate)
  cases          : 120600
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:120600
  non-finite     : 0 seen, 0 mismatched
tier1 YP(1..50), plant frozen
  cases          : 650
  max rel err    : 0.000e0 at perturbed#369[1]
  max ulp        : 0 at perturbed#369[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:650
  non-finite     : 0 seen, 0 mismatched
2412 states running, 13 frozen, 0 skipped
ok
test every_derivative_slot_actually_moves_somewhere_in_the_pool ... 50 of 50 slots move somewhere in the pool
ok
test the_quirk_fix_changes_only_the_frozen_states ... the fix changes 8 tripping boundaries and leaves 17 alone
ok
test the_whole_right_hand_side_is_bit_identical_once_exp_and_pow_agree ... tier1 YP(1..50), relative to the derivative (reported)
  cases          : 35850
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:35850
  non-finite     : 0 seen, 0 mismatched
ok
test tier2_acceptance_table ... Tier 2 acceptance, 2412 running states
gate: error / scale-of-terms < 1e-12

  YP   err/scale    err/value   ratio
   1   0.000e0   0.000e0          1x
   2   0.000e0   0.000e0          1x
   3   0.000e0   0.000e0          1x
   4   0.000e0   0.000e0          1x
   5   0.000e0   0.000e0          1x
   6   0.000e0   0.000e0          1x
   7   0.000e0   0.000e0          1x
   8   0.000e0   0.000e0          1x
   9   0.000e0   0.000e0          1x
  10   0.000e0   0.000e0          1x
  11   0.000e0   0.000e0          1x
  12   0.000e0   0.000e0          1x
  13   0.000e0   0.000e0          1x
  14   0.000e0   0.000e0          1x
  15   0.000e0   0.000e0          1x
  16   0.000e0   0.000e0          1x
  17   0.000e0   0.000e0          1x
  18   0.000e0   0.000e0          1x
  19   0.000e0   0.000e0          1x
  20   0.000e0   0.000e0          1x
  21   0.000e0   0.000e0          1x
  22   0.000e0   0.000e0          1x
  23   0.000e0   0.000e0          1x
  24   0.000e0   0.000e0          1x
  25   0.000e0   0.000e0          1x
  26   0.000e0   0.000e0          1x
  27   0.000e0   0.000e0          1x
  28   0.000e0   0.000e0          1x
  29   0.000e0   0.000e0          1x
  30   0.000e0   0.000e0          1x
  31   0.000e0   0.000e0          1x
  32   0.000e0   0.000e0          1x
  33   0.000e0   0.000e0          1x
  34   0.000e0   0.000e0          1x
  35   0.000e0   0.000e0          1x
  36   0.000e0   0.000e0          1x
  37   0.000e0   0.000e0          1x
  38   0.000e0   0.000e0          1x
  39   0.000e0   0.000e0          1x
  40   0.000e0   0.000e0          1x
  41   0.000e0   0.000e0          1x
  42   0.000e0   0.000e0          1x
  43   0.000e0   0.000e0          1x
  44   0.000e0   0.000e0          1x
  45   0.000e0   0.000e0          1x
  46   0.000e0   0.000e0          1x
  47   0.000e0   0.000e0          1x
  48   0.000e0   0.000e0          1x
  49   0.000e0   0.000e0          1x
  50   0.000e0   0.000e0          1x

worst component: YP(0) at 0.000e0 of its own scale
tier1 YP(1..50), relative to the scale of the terms (the gate)
  cases          : 120600
  max rel err    : 0.000e0 at nominal#0[1]
  max ulp        : 0 at nominal#0[1]
  ulp percentiles: p50=0 p90=0 p99=0 p100=0
  ulp histogram  : 0:120600
  non-finite     : 0 seen, 0 mismatched
0 of 50 components cancel by more than 100x
ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.23s