This repository contains the maintained modern Fortran numerical core, its 25-test regression suite, and generators for the data underlying Figures 1--2 and Tables 2, S1, S2, and 3. The checks use only files in this repository.
System prerequisites are GNU Fortran, GNU Make, Python, pdflatex, pdftops,
pdfinfo, and pdffonts. Install the pinned Python dependency in an isolated
environment, then run all deterministic checks:
python3 -m venv .venv
.venv/bin/python -m pip install -r requirements.txt
make PYTHON=.venv/bin/python checkThe core test can be run separately:
make check-coreThe aggregate reproducer creates a temporary results/ tree, regenerates every
deterministic artifact, compares it with the reference outputs, and removes the
temporary tree when it finishes:
python3 reproduce/check_all.pyIndividual generators require an explicit output location. Each location must not already exist:
python3 reproduce/generate_figures.py --check --output-dir results/figures
python3 reproduce/generate_table2.py --phase check --output-root results/table2
python3 reproduce/generate_table_s1.py --check --output-dir results/table_s1
python3 reproduce/generate_table_s2.py --check --output-dir results/table_s2
python3 reproduce/generate_table3.py --check --output-dir results/table3PDF and EPS files are generated locally from the TeX and regenerated CSV data rather than stored in the repository, because their metadata can vary across toolchains. Cross-platform comparisons use the deterministic CSV and TeX sources.
Table 2 accuracy is deterministic and is part of check_all.py. Wall-clock or
CPU timing is sensitive to compiler, CPU, power state, and system load, so the
nine-run timing phase is not launched by make check or check_all.py. The
included Table 2 timing CSVs record a controlled run. The aggregate checker
verifies all nine numerical outputs and independently recomputes the reported
per-point medians and paired speed-ups without rerunning the benchmark.
The timing command is currently macOS-specific because its automatic
power-state checks use /usr/bin/pmset, /usr/bin/osascript, and
/usr/sbin/system_profiler. Run it deliberately on a controlled macOS host with
a new output root:
python3 reproduce/generate_table2.py --phase timing \
--output-root results/table2-timing \
--power-attestation "AC power confirmed; performance state recorded"Timing results should be interpreted with their recorded environment. Timing files are not expected to match by hash after rerunning on a different machine.
claims/paper_claims.json maps each deterministic claim family to its generator
and reference artifacts. SHA256SUMS covers every intended public file except
the checksum file itself. Verify it with:
shasum -a 256 -c SHA256SUMSAll contents of this repository, including the source code, numerical reference data, and plotting sources, are released under the MIT License. See LICENSE.