Re-run of the reproducibility package (OWR-4428-012, note B), 2026-10-15 (UTC), when the note was written.

Every program of the package with a recorded output (except check_note.py, see below) was run again from an
extracted copy of a preliminary archive of this folder (the same programs and recorded outputs), with Python
3.13.5 (numpy 2.5.2, sympy 1.14.0, mpmath 1.3.0, scipy 1.18.1), at most three processes at a time, under
nice -n 10, with single-threaded linear algebra libraries. Each new output went to a new file and was compared
with the recorded one after removing the fields that record running times (and a trailing line 'exit 0' written
by a shell wrapper of the first run). The recorded outputs were not overwritten.

folder | command | seconds | return code | result
part1_original | python3 -I s1_groupring_direct.py 8 6 10 | 198.6 | 0 | IDENTICAL up to running times, recorded output s1_groupring_direct.out
part1_original | python3 -I s2_fourier_finite.py 16 10 | 100.8 | 0 | IDENTICAL up to running times, recorded output s2_fourier_finite.out
part1_original | python3 -I s3_blocks.py 3 1500 | 100.8 | 0 | IDENTICAL up to running times, recorded output s3_blocks.out
part1_original | python3 -I s4_series.py | 2.0 | 0 | IDENTICAL (byte for byte), recorded output s4_series.out
part1_original | python3 -I s5_family.py 8 14 | 53.4 | 0 | IDENTICAL up to running times, recorded output s5_family.out
part1_verification_run_A | python3 -I vA_check.py build | 1.0 | 0 | IDENTICAL (byte for byte), recorded output vA_build.out
part1_verification_run_A | python3 -I vA_check.py classes 2 8 | 4.0 | 0 | IDENTICAL (byte for byte), recorded output vA_classes_n2.out
part1_verification_run_A | python3 -I vA_check.py classes 3 8 | 4.0 | 0 | IDENTICAL (byte for byte), recorded output vA_classes_n3.out
part1_verification_run_A | python3 -I vA_check.py classes 4 6 | 1.0 | 0 | IDENTICAL up to running times, recorded output vA_classes_n4.out
part1_verification_run_A | python3 -I vA_check.py classes 5 5 | 1.0 | 0 | IDENTICAL (byte for byte), recorded output vA_classes_n5.out
part1_verification_run_A | python3 -I vA_check.py direct 2 1,2,3,4,5,6,7,8 | 2.0 | 0 | SAME EXACT VALUES; only the floating-point singular-value gaps printed as diagnostics differ in the last digits, recorded output vA_direct_n2.out
part1_verification_run_A | python3 -I vA_check.py direct 3 1,2,3,4,5,6,7,8,10 | 35.3 | 0 | SAME EXACT VALUES; only the floating-point singular-value gaps printed as diagnostics differ in the last digits, recorded output vA_direct_n3.out
part1_verification_run_A | python3 -I vA_check.py direct 4 1,2,3,4,5,6,7,8 | 4.0 | 0 | SAME EXACT VALUES; only the floating-point singular-value gaps printed as diagnostics differ in the last digits, recorded output vA_direct_n4.out
part1_verification_run_A | python3 -I vA_check.py fibre 3 15 | 27.2 | 0 | IDENTICAL up to running times, recorded output vA_fibre_n3.out
part1_verification_run_A | python3 -I vA_check.py mc 2 160 5000 3 | 31.3 | 0 | IDENTICAL up to running times, recorded output vA_mc_n2.out
part1_verification_run_A | python3 -I vA_check.py mc 3 200 3000 1 | 31.3 | 0 | IDENTICAL up to running times, recorded output vA_mc_n3.out
part1_verification_run_A | python3 -I vA_check.py mc 3 200 10000 2 | 104.9 | 0 | IDENTICAL up to running times, recorded output vA_mc_n3_b.out
part1_verification_run_A | python3 -I vA_check.py mc 4 240 3000 4 | 48.4 | 0 | IDENTICAL up to running times, recorded output vA_mc_n4.out
part1_verification_run_A | python3 -I vA_remark63.py | 1.0 | 0 | IDENTICAL (byte for byte), recorded output vA_remark63.out
part1_verification_run_A | python3 -I vA_check.py series | 1.0 | 0 | IDENTICAL (byte for byte), recorded output vA_series.out
part1_verification_run_B | python3 -I vb1_direct.py 8 6 | 43.3 | 0 | IDENTICAL up to running times, recorded output vb1_direct.out
part1_verification_run_B | python3 -I vb2_fourier.py 16 20 | 250.0 | 0 | IDENTICAL up to running times, recorded output vb2_fourier.out
part1_verification_run_B | python3 -I vb3_segments.py 300 7 | 2.0 | 0 | IDENTICAL up to running times, recorded output vb3_segments.out
part1_verification_run_B | python3 -I vb4_series.py | 1.0 | 0 | IDENTICAL (byte for byte), recorded output vb4_series.out
part1_verification_run_B | python3 -I vb5_family.py | 64.5 | 0 | IDENTICAL up to running times, recorded output vb5_family.out
part2_original | python3 -I s1_groupring_direct.py 2 8 800 | 36.3 | 0 | IDENTICAL up to running times, recorded output s1_p2.out
part2_original | python3 -I s1_groupring_direct.py 3 6 800 | 163.3 | 0 | IDENTICAL up to running times, recorded output s1_p3.out
part2_original | python3 -I s1_groupring_direct.py 5 4 800 | 118.0 | 0 | IDENTICAL up to running times, recorded output s1_p5.out
part2_original | python3 -I s1_groupring_direct.py 7 3 800 | 21.2 | 0 | IDENTICAL up to running times, recorded output s1_p7.out
part2_original | python3 -I s2_fourier_finite.py 2 16 10 8 | 3.0 | 0 | IDENTICAL up to running times, recorded output s2_p2.out
part2_original | python3 -I s2_fourier_finite.py 3 12 8 6 | 23.2 | 0 | IDENTICAL up to running times, recorded output s2_p3.out
part2_original | python3 -I s2_fourier_finite.py 5 8 5 4 | 32.3 | 0 | IDENTICAL up to running times, recorded output s2_p5.out
part2_original | python3 -I s2_fourier_finite.py 7 6 4 3 | 16.1 | 0 | IDENTICAL up to running times, recorded output s2_p7.out
part2_original | python3 -I s3_blocks.py 2 8 | 33.3 | 0 | IDENTICAL up to running times, recorded output s3_p2.out
part2_original | python3 -I s3_blocks.py 3 6 | 253.1 | 0 | IDENTICAL up to running times, recorded output s3_p3.out
part2_original | python3 -I s3_blocks.py 5 4 | 221.8 | 0 | IDENTICAL up to running times, recorded output s3_p5.out
part2_original | python3 -I s3_blocks.py 7 3 | 85.7 | 0 | IDENTICAL up to running times, recorded output s3_p7.out
part2_original | python3 -I s4_series.py | 7.1 | 0 | IDENTICAL up to running times, recorded output s4_series.out
part2_original | python3 -I s5_mutations.py | 26.2 | 0 | IDENTICAL (byte for byte), recorded output s5_mutations.out
part2_original | python3 -I s6_encodings.py | 574.7 | 0 | IDENTICAL (byte for byte), recorded output s6_encodings.out
part2_verification_run_A | python3 -I vA1_groupring.py 2 7 300 | 10.1 | 0 | IDENTICAL up to running times, recorded output vA1_p2.out
part2_verification_run_A | python3 -I vA1_groupring.py 2 8 150 | 66.5 | 0 | IDENTICAL up to running times, recorded output vA1_p2_K8.out
part2_verification_run_A | python3 -I vA1_groupring.py 3 5 200 | 24.2 | 0 | IDENTICAL up to running times, recorded output vA1_p3.out
part2_verification_run_A | python3 -I vA1_groupring.py 3 4 700 | 113.0 | 0 | IDENTICAL up to running times, recorded output vA1_p3_K4exact.out
part2_verification_run_A | python3 -I vA1_groupring.py 5 3 800 | 519.2 | 0 | IDENTICAL up to running times, recorded output vA1_p5_K3exact.out
part2_verification_run_A | python3 -I vA1_groupring.py 5 4 200 | 172.4 | 0 | IDENTICAL up to running times, recorded output vA1_p5_K4.out
part2_verification_run_A | python3 -I vA1_groupring.py 7 3 200 | 26.2 | 0 | IDENTICAL up to running times, recorded output vA1_p7.out
part2_verification_run_A | python3 -I vA2_fourier.py 2 16 8 12 9 | 19.2 | 0 | IDENTICAL up to running times, recorded output vA2_p2.out
part2_verification_run_A | python3 -I vA2_fourier.py 3 16 5 12 11 | 20.2 | 0 | IDENTICAL up to running times, recorded output vA2_p3.out
part2_verification_run_A | python3 -I vA2_fourier.py 5 12 4 10 9 | 1.0 | 0 | IDENTICAL (byte for byte), recorded output vA2_p5.out
part2_verification_run_A | python3 -I vA2_fourier.py 7 10 3 8 7 | 1.0 | 0 | IDENTICAL (byte for byte), recorded output vA2_p7.out
part2_verification_run_A | python3 -I vA3_series.py | 2.0 | 0 | IDENTICAL (byte for byte), recorded output vA3_series.out
part2_verification_run_A | python3 -I vA4_window_mc.py 2 40 80000 11 | 167.4 | 0 | SAME VALUES; the re-run prints one additional field, 'gesvd fallbacks=0', which the program prints since a revision made after the recorded run, recorded output vA4_p2.out
part2_verification_run_A | python3 -I vA4_window_mc.py 3 25 80000 7 | 66.6 | 0 | IDENTICAL up to running times, recorded output vA4_p3.out
part2_verification_run_A | python3 -I vA4_window_mc.py 5 20 80000 5 | 38.3 | 0 | IDENTICAL up to running times, recorded output vA4_p5.out
part2_verification_run_A | python3 -I vA5_convX.py 3 5 | 31.2 | 0 | IDENTICAL (byte for byte), recorded output vA5_p3.out
part2_verification_run_B | python3 -I own_blocks.py 2 5 | 6.1 | 0 | IDENTICAL up to running times, recorded output own_blocks_p2.out
part2_verification_run_B | python3 -I own_blocks.py 3 4 | 10.1 | 0 | IDENTICAL up to running times, recorded output own_blocks_p3.out
part2_verification_run_B | python3 -I own_blocks.py 4 3 | 8.1 | 0 | IDENTICAL up to running times, recorded output own_blocks_p4.out
part2_verification_run_B | python3 -I own_blocks.py 5 3 | 20.2 | 0 | IDENTICAL up to running times, recorded output own_blocks_p5.out
part2_verification_run_B | python3 -I own_blocks.py 7 2 | 7.1 | 0 | IDENTICAL up to running times, recorded output own_blocks_p7.out
part2_verification_run_B | python3 -I own_fourier.py 2 1 16 1000 | 23.2 | 0 | IDENTICAL up to running times, recorded output own_fourier_p2.out
part2_verification_run_B | python3 -I own_fourier.py 3 7 12 1000 | 71.6 | 0 | IDENTICAL up to running times, recorded output own_fourier_p3.out
part2_verification_run_B | python3 -I own_fourier.py 4 1 7 1000 | 1.0 | 0 | IDENTICAL up to running times, recorded output own_fourier_p4.out
part2_verification_run_B | python3 -I own_fourier.py 5 1 8 1000 | 25.2 | 0 | IDENTICAL up to running times, recorded output own_fourier_p5.out
part2_verification_run_B | python3 -I own_fourier.py 6 1 5 1000 | 1.0 | 0 | IDENTICAL up to running times, recorded output own_fourier_p6.out
part2_verification_run_B | python3 -I own_fourier.py 7 1 6 1000 | 6.1 | 0 | IDENTICAL up to running times, recorded output own_fourier_p7.out
part2_verification_run_B | python3 -I own_groupring.py 2 8 | 24.2 | 0 | IDENTICAL up to running times, recorded output own_groupring_p2.out
part2_verification_run_B | python3 -I own_groupring.py 3 6 | 179.4 | 0 | IDENTICAL up to running times, recorded output own_groupring_p3.out
part2_verification_run_B | python3 -I own_groupring.py 4 4 | 8.1 | 0 | IDENTICAL up to running times, recorded output own_groupring_p4.out
part2_verification_run_B | python3 -I own_groupring.py 5 4 | 81.7 | 0 | IDENTICAL up to running times, recorded output own_groupring_p5.out
part2_verification_run_B | python3 -I own_groupring.py 6 3 | 4.0 | 0 | IDENTICAL up to running times, recorded output own_groupring_p6.out
part2_verification_run_B | python3 -I own_groupring.py 7 3 | 15.1 | 0 | IDENTICAL up to running times, recorded output own_groupring_p7.out
part2_verification_run_B | python3 -I own_mutations.py 3 | 1.0 | 0 | SAME; the 7 recorded lines are reproduced exactly, and the re-run prints before them 3 header lines of own_fourier.py, which the program loads (the recorded file contains only the lines of the test), recorded output own_mutations_p3.out
part2_verification_run_B | python3 -I own_series.py | 3.0 | 0 | IDENTICAL (byte for byte), recorded output own_series.out

Result: 70 of 75 outputs identical to the recorded ones (15 byte for byte, the others up to running times).
part1_verification_run_A/vA_direct_n2.out: SAME EXACT VALUES; only the floating-point singular-value gaps printed as diagnostics differ in the last digits.
part1_verification_run_A/vA_direct_n3.out: SAME EXACT VALUES; only the floating-point singular-value gaps printed as diagnostics differ in the last digits.
part1_verification_run_A/vA_direct_n4.out: SAME EXACT VALUES; only the floating-point singular-value gaps printed as diagnostics differ in the last digits.
part2_verification_run_A/vA4_p2.out: SAME VALUES; the re-run prints one additional field, 'gesvd fallbacks=0', which the program prints since a revision made after the recorded run.
part2_verification_run_B/own_mutations_p3.out: SAME; the 7 recorded lines are reproduced exactly, and the re-run prints before them 3 header lines of own_fourier.py, which the program loads (the recorded file contains only the lines of the test).

check_note.py (the exact program of the note) was run separately, in its final form: python3 -I check_note.py > check_note_output.txt (309 s; 29,577,739 checks; ALL CHECKS PASSED).
