From 5cc9f043253b5de4ca063690d0e3d72a20a6f6a6 Mon Sep 17 00:00:00 2001 From: Rohan Arun Date: Sun, 11 Oct 2026 02:33:31 -0400 Subject: [PATCH 1/3] Reuse PR318 joint-dual source-pin repair without mathematical changes --- certificates/joint-dual-kappa.json | 2 +- certificates/joint-dual-validation.json | 2 +- research/joint-dual/SOURCE.json | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/certificates/joint-dual-kappa.json b/certificates/joint-dual-kappa.json index b7f7b89bc2..1f35b89221 100644 --- a/certificates/joint-dual-kappa.json +++ b/certificates/joint-dual-kappa.json @@ -842,7 +842,7 @@ "scripts/experiments/pin_joint_dual_sources.py": "4d31cc0e38b7902709ca5f8f714cba109760d2592346dd7f8dc0b900a2d9fe00", "scripts/experiments/verify_joint_dual.py": "7a31bba1e9c0ded32ae285df2ca9bc91ef20c330f6789fdba361876f3c7a1985" }, - "source_manifest_sha256": "4f3c15b82a2d97335d4fe95fb8bcb96bd2a921087da289d9da16c68213a17f17", + "source_manifest_sha256": "698fe862a620e5b80b85fbc6034c9456fa0fa9aea638dbbbcb3f9edd24c0415e", "sources": [ { "files": { diff --git a/certificates/joint-dual-validation.json b/certificates/joint-dual-validation.json index 194861d3c3..61a8d41622 100644 --- a/certificates/joint-dual-validation.json +++ b/certificates/joint-dual-validation.json @@ -226,7 +226,7 @@ } }, "bit_saving": "2382370177/50000000000000", - "certificate_sha256": "9801147b1502cf1e43d5fa39aa37f5291f03b48c30c4dd4f272e0877894a1c24", + "certificate_sha256": "6f684fa7f747073a132e8d0b5652cf12a8afa389f2a16ff6ade8e080d786dd22", "kappa": "4764513337/100000000000000", "margins": 7, "producer_words_regenerated_and_matched": true, diff --git a/research/joint-dual/SOURCE.json b/research/joint-dual/SOURCE.json index e3a8386b17..e1fbf9c5aa 100644 --- a/research/joint-dual/SOURCE.json +++ b/research/joint-dual/SOURCE.json @@ -3,9 +3,9 @@ "base_pr57_commit": "cd350f76c9bc01489ec83568bded532cb69be938", "base_pr58_commit": "bc2f7ed4c20dc18898305ab17165c0c995cbb804", "files": { - "Makefile": "768131bd4ce18433f6abccdc9812a38c92e11220e3a1019c6d95334b42f529d1", + "Makefile": "cd0fb59dc078d1fdf54a163ea13bb3660d03c8fe69c1a7f99fc8e5f476a3d5c2", "NOTICE": "b49022cb4104d90b182e4c335f670faf45529025b15db77bf0291835083c28bd", - "README.md": "d104c31d5b7e0d3a8d011a0e3517ab615e5b499b3dc05684f7ad3cadcd28bdae", + "README.md": "b81f8035b859007add6693c6d860371c9100a6766e494045495a28a457a5fcb9", "certificates/joint-dual-compiler.json": "516c4d85158553dabd0a98216a064b2a7397957a9d5dd0df1d6e5aec53a4e805", "certificates/joint-dual-profiles-23.json": "159fa8fee175fc1d24f63e72d3c2f1dc9f4fcd78b938c5e7d2f735fd0fd37209", "certificates/joint-dual-profiles-25.json": "8d190ce42d097e828c5756918c52f2963df576cf4c6600b0fc7f2b7fdb6ad223", From 59c760fde8ee6f374d6860a34d376b108553c79a Mon Sep 17 00:00:00 2001 From: Rohan Arun Date: Sun, 11 Oct 2026 02:33:39 -0400 Subject: [PATCH 2/3] Compose PR365 retimed complex in nine stages with PR382 kernel bit supplier --- .../workflows/e8-retimed-nine-composition.yml | 36 + .../e8-retimed-nine-composition/EXPECTED.json | 8 + research/e8-retimed-nine-composition/LICENSE | 201 + .../e8-retimed-nine-composition/MANIFEST.json | 210 + .../e8-retimed-nine-composition/NOTICE.md | 11 + .../e8-retimed-nine-composition/README.md | 34 + .../e8-retimed-nine-composition/SOURCES.json | 21 + .../candidate-five-pins.json | 58 + .../requirements.txt | 3 + .../source365/NOTICE.md | 78 + .../source365/PROOF.md | 170 + .../source365/README.md | 80 + .../source365/data/original.json.gz | Bin 0 -> 21883 bytes .../source365/data/retimed.json.gz | Bin 0 -> 21938 bytes .../source365/reconstruct.py | 226 + .../source365/retime.py | 102 + .../source365/scalar_map_comparison.py | 71 + .../source365/sources.json | 26 + .../source365/verification.json | 67 + .../source365/verify.py | 110 + .../source377/LICENSE | 201 + .../source377/MANIFEST.json | 166 + .../source377/README.md | 111 + .../source377/README.txt | 10 + .../source377/verify.py | 32 + .../work/complex-nine-native/PROOF.txt | 161 + .../native358/vendor/complex-reserve/LICENSE | 201 + .../vendor/complex-reserve/MANIFEST.json | 147 + .../vendor/complex-reserve/NOTICE.md | 9 + .../vendor/complex-reserve/SOURCE.json | 38 + .../native358/vendor/complex-reserve/admit.py | 51 + .../vendor/complex-reserve/finite_guard.py | 41 + .../native358/vendor/complex-reserve/price.py | 39 + .../complex-reserve/upstream/pr352/LICENSE | 201 + .../upstream/pr352/MANIFEST.sha256 | 135 + .../complex-reserve/upstream/pr352/NOTICE.md | 33 + .../complex-reserve/upstream/pr352/README.md | 131 + .../upstream/pr352/SOURCE-pr346.json | 129 + .../upstream/pr352/code/builders/addcomp.py | 12 + .../upstream/pr352/code/builders/build_v5.py | 453 + .../upstream/pr352/code/builders/decomp.py | 6 + .../upstream/pr352/code/builders/gather.py | 58 + .../upstream/pr352/code/builders/interface.py | 70 + .../upstream/pr352/code/builders/twin.py | 160 + .../pr352/code/checkers/columns_h.cpp | 42 + .../upstream/pr352/code/checkers/exactnd_h.py | 44 + .../upstream/pr352/code/checkers/json.hpp | 25526 ++++++++++++++++ .../pr352/code/checkers/legality_h.cpp | 7 + .../upstream/pr352/code/checkers/sub.hpp | 148 + .../upstream/pr352/code/checkers/verifyT.cpp | 62 + .../pr352/code/complex/certify_complex.py | 45 + .../pr352/code/complex/code/complex_basis.py | 35 + .../pr352/code/complex/code/complex_gx.py | 77 + .../pr352/code/complex/code/complex_labels.py | 185 + .../code/complex/code/complex_scalars.py | 219 + .../pr352/code/complex/code/complex_splice.py | 283 + .../pr352/code/complex/code/p10pins.py | 15 + .../pr352/code/complex/code/scatter.py | 33 + .../pr352/code/complex/inputs/complex/LICENSE | 201 + .../pr352/code/complex/inputs/complex/NOTICE | 290 + .../inputs/complex/retained/FINITE_BRIDGE.txt | 141 + .../retained/compact-control-layout.tex | 118 + .../retained/compact-control-movement.tex | 167 + .../retained/copied-centers-assembly.tex | 118 + .../complex/retained/copied-centers-lemma.tex | 103 + .../retained/endpoint-gauge-complex.tex | 225 + .../retained/general-clifford-frames.tex | 102 + .../retained/stopped-product-complex.tex | 137 + .../complex/inputs/complex/source-pins.json | 482 + .../complex/sources/Work__Bridge__Cert.lean | 241 + .../complex/sources/Work__Bridge__Net.lean | 345 + .../complex/sources/Work__Carrier__Live.lean | 232 + .../sources/Work__Carrier__Phases.lean | 192 + .../complex/sources/Work__Fourier__Main.lean | 176 + .../sources/Work__GCert__Chain__Geom.lean | 210 + .../sources/Work__GCert__Chain__InvThm.lean | 164 + .../sources/Work__GCert__Chain__NetCert.lean | 157 + .../sources/Work__GCert__Chain__NetDef.lean | 157 + .../sources/Work__GCert__Chain__NetStage.lean | 186 + .../sources/Work__GCert__Chain__Phased.lean | 199 + .../sources/Work__GCert__Chain__WinB.lean | 132 + .../Work__GCert__Data__B2Gp193Main.lean | 33 + .../sources/Work__GCert__Data__Glue.lean | 97 + .../Work__GCert__Data__InstB2Gp193.lean | 55 + .../sources/Work__GCert__Data__P193Cert.lean | 81 + .../sources/Work__GCert__Data__P193Price.lean | 54 + .../Work__GCert__Data__P193ScalOK.lean | 17 + .../Work__GCert__Data__RateB2Gp193x.lean | 327 + .../sources/Work__GCert__Data__Raw.lean | 93 + .../Work__GCert__Data__SolutionB2Gp193x.lean | 38 + .../sources/Work__GFrame__Engine__Adapt.lean | 183 + .../Work__GFrame__Engine__Letters.lean | 199 + .../sources/Work__GFrame__Engine__Level.lean | 163 + .../complex/sources/tools__gx__ORIGIN.md | 64 + .../inputs/complex/sources/tools__gx__gx.py | 296 + .../complex/sources/tools__gx__gxbind.py | 438 + .../complex/sources/tools__gx__gxconv.py | 131 + .../complex/sources/tools__gx__gxcore.py | 375 + .../pr352/code/complex/inputs/e8/LICENSE | 201 + .../pr352/code/complex/inputs/e8/NOTICE | 489 + .../inputs/e8/Work/GCert/Data/B2Ge8.lean | 103 + .../inputs/e8/Work/GCert/Data/B2Ge8Main.lean | 33 + .../e8/Work/GCert/Data/ChallengeB2Ge8x.lean | 331 + .../inputs/e8/Work/GCert/Data/E8Cert.lean | 78 + .../inputs/e8/Work/GCert/Data/E8Price.lean | 54 + .../inputs/e8/Work/GCert/Data/E8ScalOK.lean | 15 + .../inputs/e8/Work/GCert/Data/Gen/E8.lean | 12 + .../inputs/e8/Work/GCert/Data/Gen/E8/S0.lean | 128 + .../inputs/e8/Work/GCert/Data/Gen/E8End.lean | 10 + .../inputs/e8/Work/GCert/Data/Gen/E8Hist.lean | 46 + .../inputs/e8/Work/GCert/Data/Gen/E8Par.lean | 8 + .../e8/Work/GCert/Data/Gen/E8Scal0.lean | 10 + .../inputs/e8/Work/GCert/Data/Gen/E8Seg0.lean | 9 + .../inputs/e8/Work/GCert/Data/Gen/E8Seg1.lean | 9 + .../inputs/e8/Work/GCert/Data/Gen/E8SegF.lean | 9 + .../inputs/e8/Work/GCert/Data/Gen/E8Tab0.lean | 10 + .../inputs/e8/Work/GCert/Data/Gen/E8Tab1.lean | 10 + .../inputs/e8/Work/GCert/Data/Gen/E8Tab2.lean | 10 + .../inputs/e8/Work/GCert/Data/Gen/E8Tab3.lean | 10 + .../inputs/e8/Work/GCert/Data/Gen/E8YChk.lean | 10 + .../inputs/e8/Work/GCert/Data/InstB2Ge8.lean | 55 + .../inputs/e8/Work/GCert/Data/RateB2Ge8.lean | 207 + .../inputs/e8/Work/GCert/Data/RateB2Ge8x.lean | 207 + .../e8/Work/GCert/Data/SolutionB2Ge8x.lean | 38 + .../complex/inputs/e8/comparator/B2Ge8x.json | 14 + .../tools/certificate/gcert1-e8-r783.json.gz | Bin 0 -> 21883 bytes .../code/complex/inputs/e8/tools/e8/replay.py | 797 + .../complex/inputs/e8/tools/gen/foldgen.py | 128 + .../complex/inputs/e8/tools/gen/foldlib.py | 146 + .../complex/inputs/e8/tools/gen/gen_rates.py | 30 + .../complex/inputs/e8/tools/gen/gen_sharp.py | 33 + .../gen/templates/ChallengeB2L16x.lean.txt | 331 + .../gen/templates/SolutionB2L16x.lean.txt | 38 + .../complex/inputs/e8/tools/gx/gsmirror.py | 332 + .../code/complex/inputs/e8/tools/gx/gxbind.py | 438 + .../code/complex/inputs/e8/tools/gx/gxcore.py | 375 + .../code/complex/inputs/e8/tools/gx/gxgen.py | 256 + .../complex/inputs/e8/tools/gx/gxpaths.py | 21 + .../code/complex/inputs/e8/tools/gx/gxrate.py | 195 + .../code/complex/inputs/e8/tools/gx/gxunit.py | 47 + .../complex/inputs/e8/tools/gx/regen_check.py | 80 + .../inputs/e8/tools/gx/regen_check_e8.py | 41 + .../upstream/pr352/code/complex/pins-e8.json | 58 + .../pr352/code/complex/portable_complex.py | 160 + .../pr352/code/complex/regress_pr346.py | 48 + .../upstream/pr352/code/export_p10.py | 37 + .../pr352/code/pricing/base_two_moment.py | 63 + .../pr352/code/pricing/certify_bit.py | 45 + .../upstream/pr352/code/pricing/cost.py | 62 + .../upstream/pr352/code/pricing/moment.py | 113 + .../upstream/pr352/code/pricing/outer.py | 58 + .../upstream/pr352/code/pricing/prime_new.py | 23 + .../pr352/code/pricing/prime_witnesses.py | 99 + .../upstream/pr352/code/pricing/tile_check.py | 38 + .../upstream/pr352/code/provenance.py | 15 + .../upstream/pr352/code/stage_cohort.py | 12 + .../pr352/data/bit/BASE-RECORDS.bin.gz | Bin 0 -> 1466081 bytes .../pr352/data/bit/BASE-frames.json.gz | Bin 0 -> 311369 bytes .../pr352/data/bit/BASE-states.json.gz | Bin 0 -> 61146 bytes .../pr352/data/bit/FINAL-NEW-FRAMES.json | 1 + .../pr352/data/bit/FINAL-RECORDS.bin.gz | Bin 0 -> 1458785 bytes .../upstream/pr352/data/bit/RECORD-SHA256SUMS | 2 + .../upstream/pr352/data/bit/labels.json | 1 + .../pr352/receipts/complex-guard-e8.json | 990 + .../upstream/pr352/receipts/kappa.json | 32 + .../receipts/official-five-stage-columns.json | 164 + .../pr352/receipts/official-legality.json | 90 + .../upstream/pr352/requirements.txt | 2 + .../complex-reserve/upstream/pr352/verify.sh | 40 + .../vendor/complex-reserve/verify.py | 74 + .../source377/work/odd-stages/RECIPE-9.json | 114 + .../work/odd-stages/audit_nine_template.py | 76 + .../work/odd-stages/clifford_exact.py | 149 + .../work/odd-stages/complex_candidate.py | 109 + .../source377/work/odd-stages/data_phases.py | 98 + .../source377/work/odd-stages/global_nine.py | 115 + .../source377/work/odd-stages/outer_fixed.py | 16 + .../work/odd-stages/verify_clifford_frames.py | 64 + .../pr361/code/engines/base_two_moment.py | 63 + .../work/pr361/code/engines/moment.py | 113 + .../work/pr361/code/engines/outer.py | 58 + .../work/pr361/complex/gcert1-e8-r783.json.gz | Bin 0 -> 21883 bytes .../source382/LICENSE | 201 + .../source382/MANIFEST.sha256 | 26 + .../source382/NOTICE.md | 18 + .../source382/README.md | 90 + .../source382/code/checkers/bits/stdc++.h | 11 + .../source382/code/checkers/columns_h.cpp | 45 + .../source382/code/checkers/columns_k.cpp | 55 + .../source382/code/checkers/json.hpp | 25526 ++++++++++++++++ .../source382/code/checkers/legality_h.cpp | 10 + .../source382/code/controls.py | 19 + .../source382/code/e8core.py | 203 + .../source382/code/engines/base_two_moment.py | 63 + .../source382/code/engines/moment.py | 113 + .../source382/code/engines/outer.py | 58 + .../source382/code/export249.py | 86 + .../source382/code/guard.py | 25 + .../source382/code/kappa.py | 47 + .../source382/code/layout_bk.py | 63 + .../source382/code/nondeg.py | 46 + .../source382/code/stages.py | 142 + .../source382/code/tile_m.py | 93 + .../source382/data/final/bitE8-kernel.json.gz | Bin 0 -> 35598 bytes .../source382/data/input/bitE8-r865.json.gz | Bin 0 -> 33865 bytes .../source382/data/pr377/GLOBAL-REVIEW.json | 70 + .../source382/stages/kernel-selection.json | 1 + .../source382/stages/retime-selection.json | 1 + .../source382/verify.sh | 93 + .../e8-retimed-nine-composition/verify.py | 103 + 210 files changed, 73761 insertions(+) create mode 100644 .github/workflows/e8-retimed-nine-composition.yml create mode 100644 research/e8-retimed-nine-composition/EXPECTED.json create mode 100644 research/e8-retimed-nine-composition/LICENSE create mode 100644 research/e8-retimed-nine-composition/MANIFEST.json create mode 100644 research/e8-retimed-nine-composition/NOTICE.md create mode 100644 research/e8-retimed-nine-composition/README.md create mode 100644 research/e8-retimed-nine-composition/SOURCES.json create mode 100644 research/e8-retimed-nine-composition/candidate-five-pins.json create mode 100644 research/e8-retimed-nine-composition/requirements.txt create mode 100644 research/e8-retimed-nine-composition/source365/NOTICE.md create mode 100644 research/e8-retimed-nine-composition/source365/PROOF.md create mode 100644 research/e8-retimed-nine-composition/source365/README.md create mode 100644 research/e8-retimed-nine-composition/source365/data/original.json.gz create mode 100644 research/e8-retimed-nine-composition/source365/data/retimed.json.gz create mode 100644 research/e8-retimed-nine-composition/source365/reconstruct.py create mode 100644 research/e8-retimed-nine-composition/source365/retime.py create mode 100644 research/e8-retimed-nine-composition/source365/scalar_map_comparison.py create mode 100644 research/e8-retimed-nine-composition/source365/sources.json create mode 100644 research/e8-retimed-nine-composition/source365/verification.json create mode 100644 research/e8-retimed-nine-composition/source365/verify.py create mode 100644 research/e8-retimed-nine-composition/source377/LICENSE create mode 100644 research/e8-retimed-nine-composition/source377/MANIFEST.json create mode 100644 research/e8-retimed-nine-composition/source377/README.md create mode 100644 research/e8-retimed-nine-composition/source377/README.txt create mode 100644 research/e8-retimed-nine-composition/source377/verify.py create mode 100644 research/e8-retimed-nine-composition/source377/work/complex-nine-native/PROOF.txt create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/LICENSE create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/MANIFEST.json create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/NOTICE.md create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/SOURCE.json create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/admit.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/finite_guard.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/price.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/LICENSE create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/MANIFEST.sha256 create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/NOTICE.md create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/README.md create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/SOURCE-pr346.json create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/builders/addcomp.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/builders/build_v5.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/builders/decomp.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/builders/gather.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/builders/interface.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/builders/twin.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/checkers/columns_h.cpp create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/checkers/exactnd_h.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/checkers/json.hpp create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/checkers/legality_h.cpp create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/checkers/sub.hpp create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/checkers/verifyT.cpp create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/certify_complex.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/code/complex_basis.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/code/complex_gx.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/code/complex_labels.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/code/complex_scalars.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/code/complex_splice.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/code/p10pins.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/code/scatter.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/LICENSE create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/NOTICE create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/retained/FINITE_BRIDGE.txt create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/retained/compact-control-layout.tex create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/retained/compact-control-movement.tex create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/retained/copied-centers-assembly.tex create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/retained/copied-centers-lemma.tex create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/retained/endpoint-gauge-complex.tex create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/retained/general-clifford-frames.tex create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/retained/stopped-product-complex.tex create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/source-pins.json create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__Bridge__Cert.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__Bridge__Net.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__Carrier__Live.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__Carrier__Phases.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__Fourier__Main.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__GCert__Chain__Geom.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__GCert__Chain__InvThm.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__GCert__Chain__NetCert.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__GCert__Chain__NetDef.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__GCert__Chain__NetStage.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__GCert__Chain__Phased.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__GCert__Chain__WinB.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__GCert__Data__B2Gp193Main.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__GCert__Data__Glue.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__GCert__Data__InstB2Gp193.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__GCert__Data__P193Cert.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__GCert__Data__P193Price.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__GCert__Data__P193ScalOK.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__GCert__Data__RateB2Gp193x.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__GCert__Data__Raw.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__GCert__Data__SolutionB2Gp193x.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__GFrame__Engine__Adapt.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__GFrame__Engine__Letters.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__GFrame__Engine__Level.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/tools__gx__ORIGIN.md create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/tools__gx__gx.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/tools__gx__gxbind.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/tools__gx__gxconv.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/tools__gx__gxcore.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/LICENSE create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/NOTICE create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/B2Ge8.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/B2Ge8Main.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/ChallengeB2Ge8x.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/E8Cert.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/E8Price.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/E8ScalOK.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/Gen/E8.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/Gen/E8/S0.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/Gen/E8End.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/Gen/E8Hist.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/Gen/E8Par.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/Gen/E8Scal0.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/Gen/E8Seg0.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/Gen/E8Seg1.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/Gen/E8SegF.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/Gen/E8Tab0.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/Gen/E8Tab1.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/Gen/E8Tab2.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/Gen/E8Tab3.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/Gen/E8YChk.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/InstB2Ge8.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/RateB2Ge8.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/RateB2Ge8x.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/SolutionB2Ge8x.lean create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/comparator/B2Ge8x.json create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/tools/certificate/gcert1-e8-r783.json.gz create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/tools/e8/replay.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/tools/gen/foldgen.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/tools/gen/foldlib.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/tools/gen/gen_rates.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/tools/gen/gen_sharp.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/tools/gen/templates/ChallengeB2L16x.lean.txt create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/tools/gen/templates/SolutionB2L16x.lean.txt create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/tools/gx/gsmirror.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/tools/gx/gxbind.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/tools/gx/gxcore.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/tools/gx/gxgen.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/tools/gx/gxpaths.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/tools/gx/gxrate.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/tools/gx/gxunit.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/tools/gx/regen_check.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/tools/gx/regen_check_e8.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/pins-e8.json create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/portable_complex.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/regress_pr346.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/export_p10.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/pricing/base_two_moment.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/pricing/certify_bit.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/pricing/cost.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/pricing/moment.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/pricing/outer.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/pricing/prime_new.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/pricing/prime_witnesses.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/pricing/tile_check.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/provenance.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/code/stage_cohort.py create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/data/bit/BASE-RECORDS.bin.gz create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/data/bit/BASE-frames.json.gz create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/data/bit/BASE-states.json.gz create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/data/bit/FINAL-NEW-FRAMES.json create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/data/bit/FINAL-RECORDS.bin.gz create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/data/bit/RECORD-SHA256SUMS create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/data/bit/labels.json create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/receipts/complex-guard-e8.json create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/receipts/kappa.json create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/receipts/official-five-stage-columns.json create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/receipts/official-legality.json create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/requirements.txt create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/upstream/pr352/verify.sh create mode 100644 research/e8-retimed-nine-composition/source377/work/native358/vendor/complex-reserve/verify.py create mode 100644 research/e8-retimed-nine-composition/source377/work/odd-stages/RECIPE-9.json create mode 100644 research/e8-retimed-nine-composition/source377/work/odd-stages/audit_nine_template.py create mode 100644 research/e8-retimed-nine-composition/source377/work/odd-stages/clifford_exact.py create mode 100644 research/e8-retimed-nine-composition/source377/work/odd-stages/complex_candidate.py create mode 100644 research/e8-retimed-nine-composition/source377/work/odd-stages/data_phases.py create mode 100644 research/e8-retimed-nine-composition/source377/work/odd-stages/global_nine.py create mode 100644 research/e8-retimed-nine-composition/source377/work/odd-stages/outer_fixed.py create mode 100644 research/e8-retimed-nine-composition/source377/work/odd-stages/verify_clifford_frames.py create mode 100644 research/e8-retimed-nine-composition/source377/work/pr361/code/engines/base_two_moment.py create mode 100644 research/e8-retimed-nine-composition/source377/work/pr361/code/engines/moment.py create mode 100644 research/e8-retimed-nine-composition/source377/work/pr361/code/engines/outer.py create mode 100644 research/e8-retimed-nine-composition/source377/work/pr361/complex/gcert1-e8-r783.json.gz create mode 100644 research/e8-retimed-nine-composition/source382/LICENSE create mode 100644 research/e8-retimed-nine-composition/source382/MANIFEST.sha256 create mode 100644 research/e8-retimed-nine-composition/source382/NOTICE.md create mode 100644 research/e8-retimed-nine-composition/source382/README.md create mode 100644 research/e8-retimed-nine-composition/source382/code/checkers/bits/stdc++.h create mode 100644 research/e8-retimed-nine-composition/source382/code/checkers/columns_h.cpp create mode 100644 research/e8-retimed-nine-composition/source382/code/checkers/columns_k.cpp create mode 100644 research/e8-retimed-nine-composition/source382/code/checkers/json.hpp create mode 100644 research/e8-retimed-nine-composition/source382/code/checkers/legality_h.cpp create mode 100644 research/e8-retimed-nine-composition/source382/code/controls.py create mode 100644 research/e8-retimed-nine-composition/source382/code/e8core.py create mode 100644 research/e8-retimed-nine-composition/source382/code/engines/base_two_moment.py create mode 100644 research/e8-retimed-nine-composition/source382/code/engines/moment.py create mode 100644 research/e8-retimed-nine-composition/source382/code/engines/outer.py create mode 100644 research/e8-retimed-nine-composition/source382/code/export249.py create mode 100644 research/e8-retimed-nine-composition/source382/code/guard.py create mode 100644 research/e8-retimed-nine-composition/source382/code/kappa.py create mode 100644 research/e8-retimed-nine-composition/source382/code/layout_bk.py create mode 100644 research/e8-retimed-nine-composition/source382/code/nondeg.py create mode 100644 research/e8-retimed-nine-composition/source382/code/stages.py create mode 100644 research/e8-retimed-nine-composition/source382/code/tile_m.py create mode 100644 research/e8-retimed-nine-composition/source382/data/final/bitE8-kernel.json.gz create mode 100644 research/e8-retimed-nine-composition/source382/data/input/bitE8-r865.json.gz create mode 100644 research/e8-retimed-nine-composition/source382/data/pr377/GLOBAL-REVIEW.json create mode 100644 research/e8-retimed-nine-composition/source382/stages/kernel-selection.json create mode 100644 research/e8-retimed-nine-composition/source382/stages/retime-selection.json create mode 100644 research/e8-retimed-nine-composition/source382/verify.sh create mode 100644 research/e8-retimed-nine-composition/verify.py diff --git a/.github/workflows/e8-retimed-nine-composition.yml b/.github/workflows/e8-retimed-nine-composition.yml new file mode 100644 index 0000000000..b3b621147e --- /dev/null +++ b/.github/workflows/e8-retimed-nine-composition.yml @@ -0,0 +1,36 @@ +name: Verify retimed nine-stage E8 composition +on: + pull_request: + paths: + - 'research/e8-retimed-nine-composition/**' + - '.github/workflows/e8-retimed-nine-composition.yml' + push: + paths: + - 'research/e8-retimed-nine-composition/**' + - '.github/workflows/e8-retimed-nine-composition.yml' + workflow_dispatch: +permissions: + contents: read +jobs: + verify: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + python: ['3.11', '3.14'] + steps: + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 + with: + persist-credentials: false + - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 + with: + python-version: ${{ matrix.python }} + - name: Install verifier dependencies + run: | + sudo apt-get update + sudo apt-get install -y g++ libboost-dev + python -m pip install -r research/e8-retimed-nine-composition/requirements.txt + - name: Replay source and new certificate + run: python -B research/e8-retimed-nine-composition/verify.py "$RUNNER_TEMP/e8-composed" + - name: Confirm source tree unchanged + run: git diff --exit-code diff --git a/research/e8-retimed-nine-composition/EXPECTED.json b/research/e8-retimed-nine-composition/EXPECTED.json new file mode 100644 index 0000000000..15dcec7bb9 --- /dev/null +++ b/research/e8-retimed-nine-composition/EXPECTED.json @@ -0,0 +1,8 @@ +{ + "kappa": "7987126506013/8000000000000000", + "kappa_float": 0.000998390813251625, + "bit_coarse": "251726760077483/250000000000000000", + "complex_coarse": "999388595603943/1000000000000000000", + "binding": "complex", + "gain_percent_vs382": 0.014791889125625176 +} diff --git a/research/e8-retimed-nine-composition/LICENSE b/research/e8-retimed-nine-composition/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/research/e8-retimed-nine-composition/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/research/e8-retimed-nine-composition/MANIFEST.json b/research/e8-retimed-nine-composition/MANIFEST.json new file mode 100644 index 0000000000..bf1942ac60 --- /dev/null +++ b/research/e8-retimed-nine-composition/MANIFEST.json @@ -0,0 +1,210 @@ +{ + "EXPECTED.json": "9bf088d808c0abb91766057d3f5e14586a09411c7f8939cb3fc31d2ccd1be80c", + "LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "NOTICE.md": "db96c01198a29b0254ed31d76f51f3cbf98bc95425451d3842ef88297057ed30", + "README.md": "030543cf7b8380df446a0b3e822fb184ebe482d1fb0c81ca15280bdcb5b244e9", + "SOURCES.json": "2ff5cddf9bd1ff81c685fb9ec5bb466094b8e6f0f4ad8694215cbd0eb00d6fe8", + "candidate-five-pins.json": "56d5c0761be1c8ad34e22edda36f7cefaf512f33d2105c7d9a884316d3a7904d", + "requirements.txt": "12ce61badd5c50c101d6d759e1de6bc494be3f906df49a63b6db20d7e54a7348", + "source365/NOTICE.md": "d90e498b08ebc83951ae44f5b3c507eac314ee03e7cab53df675e7a86da9046b", + "source365/PROOF.md": "f21c7a5f54ae39763765c833f8f4c916340f3417b508c267153a0fe52358c0c9", + "source365/README.md": "1d014a1835d3e50e0c8e10d4e1c18afe7e91837707e184440d0ca893ea50c165", + "source365/data/original.json.gz": "4b92f00fc7454b9b15e6d71a3b05062792eacca0a0ca4efee46f87827d57c8aa", + "source365/data/retimed.json.gz": "31467ace2b1667630b72e488e688911a0404b4755d0d2c87560b111ed4c07998", + "source365/reconstruct.py": "5a3d1e4cc45dde080a999f4a94040eba2d52c01877ffe70ae121109fbf9853e5", + "source365/retime.py": "0b4cddf5c9c0cb738b0e023d1108c65daf465843397428fef57f99c5bc7c1683", + "source365/scalar_map_comparison.py": "4ee8a3c9074d2e599e124882e182e0fc8397d9ef420f99508b7a7b0f0f9066e9", + "source365/sources.json": "016a1eb4edd569c2b13fdde9c39f7144f30c659eb3f947fae97c795a8905bbc5", + "source365/verification.json": "97874902c6548cf6fd04ead2345a7e40ad960407771515af40f202a9eac637b6", + "source365/verify.py": "2230294a81b980a4bee415e387e0371def5cda1e4651146dd1f98c4ad7911a6e", + "source377/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "source377/MANIFEST.json": "3743f954b5a652e51fa9ae5101318345d79f4c897ff9a29d5c54387b92118458", + "source377/README.md": "a62afee2856e1eb096250efd3202a429cd4118e7d9a114e7b9c67e3c168df3ab", + "source377/README.txt": "ffe26cdb8a7e083f2f745b6cf18916a6af4f1635bc5b1577f30fb1ca4e575e07", + "source377/verify.py": "f99a2601b4864bb596955933b41f45a04e9c9b300b23e4aae2cb2934ec5d8c74", + "source377/work/complex-nine-native/PROOF.txt": "ea0edb8cfb6b2f2c1adb2de12cc0aa5fb7c57e649033528565af3e52087beda7", + "source377/work/native358/vendor/complex-reserve/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "source377/work/native358/vendor/complex-reserve/MANIFEST.json": "3d0d867b84b86dd9f0850cedce9a6de83f2313a604bdef58f7235af30f94bcbd", + "source377/work/native358/vendor/complex-reserve/NOTICE.md": "380ce615ddb67da3680fa188a0ba0daf578b983d58c2496cd20dd06f32e4ef57", + "source377/work/native358/vendor/complex-reserve/SOURCE.json": "e69f2a72785302f892263cf765c84d07e083d9ad05730748f9c3374aade11e53", + "source377/work/native358/vendor/complex-reserve/admit.py": "1b9b069fbdef37b7e3fbc586aad9578ba85948e9f80877733af387573f3fa723", + "source377/work/native358/vendor/complex-reserve/finite_guard.py": "bef59dddd391bcb49ed16ec6384517b8b7a2e21415cc810f9c2f59f440370983", + "source377/work/native358/vendor/complex-reserve/price.py": "90cfb8d102adf0b5f93b71b05af5c078076f56873a868a66865575a5ea85d573", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/MANIFEST.sha256": "4b76fb09595321986da04017db16cf6aa36bcd6a048cdee2ec8b656de811e488", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/NOTICE.md": "967e6d7e76e216e4898cf543c75b527e8d397ec1ddba3800cb20701f24c89524", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/README.md": "c5349ae6637e846fefe132756968376d52c5e3f76241e96214f59e65cdb7ad16", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/SOURCE-pr346.json": "2ad0b2138d2aa8cd5c6ab6995fa8c6c167a822b668ef56a9cc39c5765d1134b3", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/builders/addcomp.py": "82e5ef0c7b6cf84c53bf6039330930242c9a5c8e8ea13183b2805cf9577f7129", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/builders/build_v5.py": "c0867d68b863ca7d8cdd7002ffed263cbd5525fea4522267b5f640e4eff5597b", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/builders/decomp.py": "699c424170b41d3711da6a283f58cac824402ca373764365fd05c8e645ed07f5", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/builders/gather.py": "8c7d2a34fdcbe75d8ed8299e399d578b32adf44402c773fd905aa7c88e2b460d", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/builders/interface.py": "3b3e2fb894f871a9b6145844faaff34a05add59ae0eb8882c8feb2b914265b8a", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/builders/twin.py": "cfd261d82a31dd9024f1fa191eac2f5d893a7b51833b912459de46a1e9aac003", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/checkers/columns_h.cpp": "26f5c9be3a7f545d50be458e3d17403921b5542a7dcd2986c848664a774977a8", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/checkers/exactnd_h.py": "28a0d8ee29ac75b8a789705454987f07d618f135ed1f1bd45b97f18bcc4163e3", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/checkers/json.hpp": "aaf127c04cb31c406e5b04a63f1ae89369fccde6d8fa7cdda1ed4f32dfc5de63", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/checkers/legality_h.cpp": "5661d0b91e07d95736bde4c1824f27bebaecce0a84e38403f5391ebc51a52056", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/checkers/sub.hpp": "59c1a64f9df61fc50f47d5a78c8f9351875bf6b352db1c9d109c7c90542a4f19", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/checkers/verifyT.cpp": "1a5aea81aab652622e6547d901ead6aaf54fdca231da897dd99474c9f64a33bf", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/certify_complex.py": "7e480b7761fa700944a7dca41ccbefd530203b5e9168b6b37fe879b7e6da57fa", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/code/complex_basis.py": "52d68781eaf6d9decf02446a532a7336fcf15924a9f6781ba0833d038decb9f8", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/code/complex_gx.py": "ccc924537db0c0d55f0c1934e79b8cf4d85b4fb336473d7b42d69e12557aa9f2", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/code/complex_labels.py": "e000ee131389fec427388b85f632879cbaaf10e5e5d979a47d6307d64ce58982", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/code/complex_scalars.py": "38e985ebe8c8e7f8c83c03828abde0c80be418caf95e97afdf2d0c357c0ed919", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/code/complex_splice.py": "aaf46c8e5c68875b8315892e924e082b2f219f8d042dd14937e7cd2f72456dce", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/code/p10pins.py": "93b78a2e038b23264d04836928c78b6ebf33b87ff3dcc0e43ba0f1748fadd143", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/code/scatter.py": "dfd1afbbb3ff86f54db6a0313916403ec8ee6f939caa62f3edcc9d7a151bff95", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/NOTICE": "9419dd03a2f52cf8bdfc4d18216ce29f263ab583b27f01ced8e420985bcb7c81", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/retained/FINITE_BRIDGE.txt": "66d8f4ea8752abd89952d6674a636575a0db16e18b1c16e293f48f64242f0c46", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/retained/compact-control-layout.tex": "2bc28e50f3eb092195294cafa81213e520f6d42e7935e9905ad8a6199e2a7c87", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/retained/compact-control-movement.tex": "b963c3d2f4e1b7059aa289bb4b4ac89b688920bcf42f5b20d7698cdef0132cc6", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/retained/copied-centers-assembly.tex": "00117892971ae766188ace0af03030c44164fda105e42b70d84f52c3339a7dcb", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/retained/copied-centers-lemma.tex": "d0ce6d3d504996aadb098227885224e48df46101daec8893523a0a8b7364d8fe", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/retained/endpoint-gauge-complex.tex": "dfee33b0281e5551bb6927f757ff0240abade60ae1800f715afd88853ae0191e", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/retained/general-clifford-frames.tex": "c9bb9655b594583c6b4bab8cb485233f1d1e588f83858cf1e4c3530cee8fed54", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/retained/stopped-product-complex.tex": "4738089103a4b263b3b0ef458f5ef35519c696f1ea871ae79e508d3720f5870a", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/source-pins.json": "0d76527bf9c259b9532466a7b056ad6ff118867a96e044ff8e1a24aca12e1dbb", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__Bridge__Cert.lean": "5c24746a6330907b9b37d6064095035a58575d64ce793d6d7c9881121fdc3980", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__Bridge__Net.lean": "cf7d7d330b1bffe2e66712c873e647b13dc32db1ccfc0e0f4cd62ee6caf584f0", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__Carrier__Live.lean": "6d0649eb62589e66057f044e1e2103fc42f3f57a1498f82a26565bd8eb4026d0", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__Carrier__Phases.lean": "71dc3dda23dfe510d5d53cbada3a6c540cd1dc2825503fda618a5bd6cfc3e812", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__Fourier__Main.lean": "2e8e88efd4dcbdf0b1a6e39ce7eea8c5fd5ffee2faf360a8c0c9cba84c0e4ef3", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__GCert__Chain__Geom.lean": "c302f5834287421f11f3b0da7112fcde876cbc702896f2af4145b2d72ee393a2", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__GCert__Chain__InvThm.lean": "ade7e7873da75ca63a4b5ce2f562dde9c12bfbb69d87d7ae831039ff790e5adb", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__GCert__Chain__NetCert.lean": "22ae34809466b4ac2a2c5cdde526f51ff246f5189f7c142b38aa4c0dcffb04a4", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__GCert__Chain__NetDef.lean": "6e17a68b1e988969f6eb77000028f7ed877e687b8ad3976ec1707fcfe1d2f520", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__GCert__Chain__NetStage.lean": "c122bc01392a6fdcc0bee918fed81804d3c9b1d3e071016dab65a4ed804ef0b6", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__GCert__Chain__Phased.lean": "0de429c80231334f1ce92575c1e8ac382ca2d5e7d956767b547639a8941d9a8c", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__GCert__Chain__WinB.lean": "c33ec3fce09c0971c32ddcbb86d9383ffbe4c6d05cf36f20460005e6547bb845", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__GCert__Data__B2Gp193Main.lean": "cb61f304da51f1dd0a2ec25bca4b63eb095eeb2863289e1e2bdee7c82beff48b", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__GCert__Data__Glue.lean": "d5314f2b93a7f0e1c949fb502331825bfc6d9d8762d35f865443e7c95b6c7ef7", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__GCert__Data__InstB2Gp193.lean": "9587ddb9961f44938032b609307ab91c0b0e757e3991f1ad95480dd50fd4f72b", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__GCert__Data__P193Cert.lean": "d92ee6889be4753fc99f467bd84039743325123a1165128378b9c906a04f2703", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__GCert__Data__P193Price.lean": "0299bcd0fe255960eec682eef0f045f7e5cb1e4711af2aab4393526eae2caea3", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__GCert__Data__P193ScalOK.lean": "479434815822e98f015e335361089c3788d00dc3dd39c2944f75410aa0c158fe", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__GCert__Data__RateB2Gp193x.lean": "6b40cac1481c931d47b1a092e382d04716ede0e785c492a2f2983e886a257c3f", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__GCert__Data__Raw.lean": "aba94a004c94dcae7cf3047c88a6da9561555f4ebe8ab92e299e6ce09ee7aa66", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__GCert__Data__SolutionB2Gp193x.lean": "45c768c9d71a7cc18bd6db74cb036db880d89580ca60557bb4a492280296b169", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__GFrame__Engine__Adapt.lean": "feec0a3828867968a5c7c2c30b86ed70449abc3c660a60ada67203a75bae2ef7", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__GFrame__Engine__Letters.lean": "34906dbf5ae16b5174db00b4881a5cc1d2e583b8c8806db6523a5e2f86565f09", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/Work__GFrame__Engine__Level.lean": "80fb3daa9a45de0ed6da570eb4476b9104734be65d0116f58bcfcbcd67f771d0", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/tools__gx__ORIGIN.md": "6ba897a9495ddadcf8558b93133fdfaf66fc35ce7fa2c53e2d5667335c315e0b", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/tools__gx__gx.py": "6f3dc8bb639933227a8dae181ec4a542e85c7276be9c9e330f49518e7b630b95", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/tools__gx__gxbind.py": "9c9dcfac47f0535bf3aa8ebf7c662cdef0ebda50a9f0a9282b8f3cf34809f835", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/tools__gx__gxconv.py": "dab7fec9f44c2d368ed334055d7126e202017feb46e41a8d86e2d998720f67c2", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/complex/sources/tools__gx__gxcore.py": "eb972c06fe8c322db2d9a8d9a7d05596e8f40c4ca8e5f42eb6df3c7361b5d517", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/NOTICE": "557c9ad4660eebd14a00583736c4d12d2c45f3fc9bc148845f9f3efec72c9434", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/B2Ge8.lean": "842b217147cf84e8042d6ef1c33104d5444b6587b594664bc9eb89b237ab4ad0", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/B2Ge8Main.lean": "987103107d5586c096016f0a702d0de35b74398dbb50ac66f5886a43a5ca0d05", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/ChallengeB2Ge8x.lean": "a59db9d54b83adc73391916f7c1ef5e381ff073027781c26cb350f43b79839e3", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/E8Cert.lean": "13a243c7d7be31ae429d19b5ecd5d428d60c41b7cca8a330f0c4179b110ba7ea", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/E8Price.lean": "cd250dd72406dde37765c501f666ceeedcc18f831070b26369bcb154c1f99a8e", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/E8ScalOK.lean": "6bd5e68effe8913a3f73e25ea59142cd9928ddf81e94250a6ea28aa7317388b3", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/Gen/E8/S0.lean": "36de82f6969c23082876a4d6848428623d1c65d2df3fc917f23ecba003189dd2", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/Gen/E8.lean": "5c7fb23df2c10b690f638a19bf066905b5b620b8a2ad0ffde76cc9348d8aa2b4", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/Gen/E8End.lean": "6ea83365afe01664b2132a630511b4de65f938dc328744ce7f77a01fad97f32d", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/Gen/E8Hist.lean": "cce81699abe1f85a870dcf64edd395d2cf5a586da7700af565b557093095ab51", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/Gen/E8Par.lean": "a343219b419f30f8ac4dd3a0a98bf53550c5fec6b2cbd245320a95977c319016", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/Gen/E8Scal0.lean": "78036e5443775ade5bde46a77ba3e0433fe22160da11b5b6c96c7f1075ecfbbd", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/Gen/E8Seg0.lean": "f6b248dc4c3b2c94db95989b6bd5ad3c3f0d7ece3a511e5b69069550b821b138", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/Gen/E8Seg1.lean": "79d16ccceb61391446ea97f77fddadafa9150e9dea97919e775f6c78daa71839", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/Gen/E8SegF.lean": "924340aebc6f68b5a6526311ce33341af0a0a5a8375416762f08c1914ec08abe", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/Gen/E8Tab0.lean": "650600b631a21221956f9abbab9abebcc9cca628512d3e9a017e2373e2649b17", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/Gen/E8Tab1.lean": "60036fa4deeb19d39fc0dddf31359d2b6d2407ff66070f145b111bff16190eb0", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/Gen/E8Tab2.lean": "c8a248da3eb770ba55ef267d118b29d49983311087ef789398d555e2c44b3a41", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/Gen/E8Tab3.lean": "41975d430ec0095ad465a36d4903e90c01bc891d3abe5e2c372ef786c029a7ed", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/Gen/E8YChk.lean": "a290360c175544cb85edffe1b92fcf7d447cba09128e19de8dc87e0a1ff0c524", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/InstB2Ge8.lean": "c1fee298187ea19b5d70fcfccef7d4fd4161be70c0adda19a89ca9933a759954", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/RateB2Ge8.lean": "7b6e59724c0f140e714afba237d5a1a91b22da70abc096ce274690140b39a3a6", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/RateB2Ge8x.lean": "7c56d865ed6bfcb6919dabc1a6e53f8744ff4824a2f78335787485f3090970d1", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/Work/GCert/Data/SolutionB2Ge8x.lean": "dd52f1fe0a372480edaf5e6c64903d6257c410e43d406f8acb6bf8f60a1ee28f", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/comparator/B2Ge8x.json": "ddad06c37f9268986f3ec8ce43da5230ee2bd887da2480328413a0dc58f2a926", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/tools/certificate/gcert1-e8-r783.json.gz": "4b92f00fc7454b9b15e6d71a3b05062792eacca0a0ca4efee46f87827d57c8aa", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/tools/e8/replay.py": "be41ee310f28121c3e424cc8637d8fa02ef7c47fc8945e9bbd3856138fd800d6", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/tools/gen/foldgen.py": "a0f16e2c9e078ffbfb2174281ee93a48c18593aefb880318fc105ec85a205932", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/tools/gen/foldlib.py": "7a3c38a698c129e13a767da75926a1305eb0c031b908450afc6feb185505c59a", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/tools/gen/gen_rates.py": "ef8c869e4cf8da33a4c10b96f7f6faafd46e15d66766238070a60315aa169994", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/tools/gen/gen_sharp.py": "1b5eb3730cb16cf516e760879951fdfb9b065efc55f78c29a5c6404fcca57a78", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/tools/gen/templates/ChallengeB2L16x.lean.txt": "0488b7a2442c795414f103df912d1e6cc66d37b5be270940ea9564b7f2b666be", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/tools/gen/templates/SolutionB2L16x.lean.txt": "d414a890dfe126916374c1afc804b90e5081b7760f894b9ccdcf23d83a12f9ee", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/tools/gx/gsmirror.py": "0e22bbe5924284e2fb916337ccefc8e41f6e54469749986ad15b3b81cfaec534", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/tools/gx/gxbind.py": "9c9dcfac47f0535bf3aa8ebf7c662cdef0ebda50a9f0a9282b8f3cf34809f835", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/tools/gx/gxcore.py": "eb972c06fe8c322db2d9a8d9a7d05596e8f40c4ca8e5f42eb6df3c7361b5d517", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/tools/gx/gxgen.py": "ce9151054370c2210ed08f54c249a19dcb6946d182cdf934dee1a3781b53040f", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/tools/gx/gxpaths.py": "f00802d48ef3fedb00278f0b1c7bde074cc49dd30f202d7f32a9d2aebb3be443", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/tools/gx/gxrate.py": "514a5719f970fe36b1273cf59df0396db0e042dd7864c2eea53ab2a2fd1e2ad6", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/tools/gx/gxunit.py": "3cc09a9c1a2db681c0f2016bc821af5b674d34834dbd6f195b9d482ce7c0ff58", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/tools/gx/regen_check.py": "b6172d58749c0b3b9138570c74827bcb23bf5db4ff9643740768cd7782ac4ca6", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/inputs/e8/tools/gx/regen_check_e8.py": "ad8fe9811c6ea0d89c795caef48686cfca600f5d540ebfd5d1251d6777cec7cf", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/pins-e8.json": "bf66f785878f636616ceab193e5a222143945ea06fc2f13dfb99b204ebba82ff", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/portable_complex.py": "44e8ae8a5b915358a97dbed5fe4e70195ed3581fd45a216df48fc82a029db87d", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/complex/regress_pr346.py": "29479da1547cd39cf20fe387cde4cad847a2880266db9d0ef3fb474f68591feb", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/export_p10.py": "1161d23b459f7d981d6716073745909126d5465018cbbea7e6e6a9e4e5d68add", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/pricing/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/pricing/certify_bit.py": "fc03e8f7bf73d7d70346b87c835d44508b0581c9ff9aec708fbbd4f0121e0394", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/pricing/cost.py": "d55d2b865d1c3d35e343e1a38c592b9172ed8e2596d1107e34d92e2a80c7d03f", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/pricing/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/pricing/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/pricing/prime_new.py": "7bd5cb48537621f1217d174274d42483da4e2d02feec238643c798c36b30366a", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/pricing/prime_witnesses.py": "98cd03bc9582e7bd0ab194c191ea8eea940539e510051443ab9fd3e572a364ab", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/pricing/tile_check.py": "38c3f78daac118395565a65fa3543b1c349638ff2519ce7fda0dad2d788e90ae", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/provenance.py": "9f5c05aa4d172478f2ab67e7bb83cacebfccc10ecba650c23539cdcee18f2139", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/code/stage_cohort.py": "6c288f6f234b528c1a7c0a4adfb724e91e0fe6b18c8dffad96af3f973de1829a", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/data/bit/BASE-RECORDS.bin.gz": "caabc13126e8f87d08f7697f51512cb3431ff52861f4190149251d8e19224430", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/data/bit/BASE-frames.json.gz": "35070b83d12ebc60003ed344315328713134a43bdb04217c2c5cbc39e101391f", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/data/bit/BASE-states.json.gz": "1e37ae5001447dd78a8287d8aa23d73a1d5862c4017f44db49af327f58d7cf22", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/data/bit/FINAL-NEW-FRAMES.json": "e7fe9d0686829ad5acf7930698b3c81a866ae834422aa3c9a12057dfae627175", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/data/bit/FINAL-RECORDS.bin.gz": "fc4f1986da4585dc1721bcd954a95b3ffb2b562cc7031f40242de81664e3acb6", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/data/bit/RECORD-SHA256SUMS": "21f732671eb34468be2252d4dfb81bdec4e7d7cd6564b93a482c2dd925e9c3b2", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/data/bit/labels.json": "e037cd3d19d68e08523d09fce1c5f92206567784eb59f1924d93a837e4302fce", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/receipts/complex-guard-e8.json": "f94a5dca42cbb88e9650f8f8a3ffbd1153636dfc0a48da5f7a7fca908c0650ad", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/receipts/kappa.json": "36316b6cfe423b56cda1fd52843e56c997d060e33d26b732b3ecf4de3ae83aaa", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/receipts/official-five-stage-columns.json": "32e291f249b4eab8d65664d10c94208fe2154bdb4a45aaff84e9e8da5295a29f", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/receipts/official-legality.json": "7e675b7720f056548c1ee9f9de523eea10e6b014ddf90b7a630fd96163acbce6", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/requirements.txt": "ca0825e0ae3db2855af7535ebdc4775beadbb6f07f8d3a84f0f4fd5b95ba5eae", + "source377/work/native358/vendor/complex-reserve/upstream/pr352/verify.sh": "1a05c0b31ea37b2b5a4b84f6f9f504af8dd4220e13a6d9d86f64b2a731a903c7", + "source377/work/native358/vendor/complex-reserve/verify.py": "aa6f05c39404b4038c31c72f9fe7a8e137df911f6cb6fc668e316be37c40b126", + "source377/work/odd-stages/RECIPE-9.json": "abda2e4c73ecb48d29c30c12bc9a5c2db71d11a35667b4298788ec9154eeec7b", + "source377/work/odd-stages/audit_nine_template.py": "30c33508d02aeb8823dc477e8027bf6d44740aea0d3a3970fd2490aaf3b072d0", + "source377/work/odd-stages/clifford_exact.py": "2982ead07721e83358dc67c6f49c2b4c16a236a6bebdfd72f58221be1f5d0962", + "source377/work/odd-stages/complex_candidate.py": "e4faf656403720f78223934bec90c667086453d449323c85fa839d19829b4517", + "source377/work/odd-stages/data_phases.py": "671d6f8144c6d31e1766c6a0e144172da661a63f86b3d4d17fe2710f3ef752c4", + "source377/work/odd-stages/global_nine.py": "7e33e6ca88b11e28544bf7d43b02252208d4355369a14adb2aa8baa15773e42a", + "source377/work/odd-stages/outer_fixed.py": "0dc5b5a23bba5b4532cd11a290019d66d56ead611dddd3c40e2c9d0df64da198", + "source377/work/odd-stages/verify_clifford_frames.py": "5d8cf110150c66f2e2df58ea4e24096f335740e2ae726a4778347d98053cfa76", + "source377/work/pr361/code/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "source377/work/pr361/code/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "source377/work/pr361/code/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "source377/work/pr361/complex/gcert1-e8-r783.json.gz": "4b92f00fc7454b9b15e6d71a3b05062792eacca0a0ca4efee46f87827d57c8aa", + "source382/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "source382/MANIFEST.sha256": "05f782fdfa4b5c16afb90d8fb09f473ce3a6b620884ecd63fbb34fc4ae173d84", + "source382/NOTICE.md": "da54f1e15ee7da323d2307aa047ae4cd009dd01f831121e44dbcf65af60c4e46", + "source382/README.md": "081314056d87e086669afeeb2f181053cf11d0694c904de60b12ceca9069f1f4", + "source382/code/checkers/bits/stdc++.h": "51908262576163a64815def96ff39b62aef3d52daaad9c561505c4293ff88e18", + "source382/code/checkers/columns_h.cpp": "0c455ea497412fce02d2689c6e32cefa0b2a56c1624a1a1648900cd39b8f45fb", + "source382/code/checkers/columns_k.cpp": "f96cb88097adf7112cf122008aecc795605b41c57e0cd019db2b5f91682d9b76", + "source382/code/checkers/json.hpp": "aaf127c04cb31c406e5b04a63f1ae89369fccde6d8fa7cdda1ed4f32dfc5de63", + "source382/code/checkers/legality_h.cpp": "07eb27106c8f43e4ffb6916facc2508035de51e4ce343fb6371fc35116889aeb", + "source382/code/controls.py": "ec9923314e2245739fa68a2bd3a3d7309db7d21cf45e0dded72f555cb22bc453", + "source382/code/e8core.py": "1cb286196c1530d06f50f0997febc5993b388f33464e295611b920ba30a24eeb", + "source382/code/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "source382/code/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "source382/code/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "source382/code/export249.py": "6d9817f7c431573aff695e1eacfa7c2ca6d3a2a10baa3a2ea814ab9b9f7b13ab", + "source382/code/guard.py": "14b39d08ec5a9723195beb28b19c0d489458e47efe362460ccb826ae2c315f9b", + "source382/code/kappa.py": "1fe7818b492c68565286d8b35f7413093de88266e46a4b1ea468b55bb7b7b48b", + "source382/code/layout_bk.py": "e650d16538db8d80495fda5109cdfa0775e1d5f3b56b0aa39e5c1efc660877e7", + "source382/code/nondeg.py": "157f9d1cd0c3160a9fc4a2fd2a7460e03cd0473967da93c4b9a5f97bc53bbdfb", + "source382/code/stages.py": "e37ccfdd0bf60a93fb0150d9810674b37409b161046fea268df87d6372e15f8a", + "source382/code/tile_m.py": "d6ae4a556472d403773cd2117c992bfc10e1187112da1b3893f3fae628a131dd", + "source382/data/final/bitE8-kernel.json.gz": "947f6e1266f009c6c54647e0b348b1e2076bb584b54fae19016bc8086741876a", + "source382/data/input/bitE8-r865.json.gz": "1fb726ea3818fe0837cceb0dd22a71a0814f064e5e781628104610d6468e0e55", + "source382/data/pr377/GLOBAL-REVIEW.json": "5ab0d754c01500879dd6c2a70322d08016e2917b3f5f84655923d383729411ad", + "source382/stages/kernel-selection.json": "9a05666d6a0607a599c683fc3d51d6fa1fc9eb8ea2c040d160cca565212e58a7", + "source382/stages/retime-selection.json": "29cc4e68d8c8026e9652171656d8c5bf35ff4dc67ef1d03fd057162d1be6d78a", + "source382/verify.sh": "79f156d22a9163f244b4716c71e110259584988dc232c4a37a59abc3bfff5d58", + "verify.py": "b5b573d3a563d523584498ea7e928a69cf97bf93a8f886fbb3ce80bbb4cca984" +} diff --git a/research/e8-retimed-nine-composition/NOTICE.md b/research/e8-retimed-nine-composition/NOTICE.md new file mode 100644 index 0000000000..f336b20833 --- /dev/null +++ b/research/e8-retimed-nine-composition/NOTICE.md @@ -0,0 +1,11 @@ +# Attribution + +Source-bound composition and replay harness: Rohan Arun, with OpenAI Codex assistance. Apache-2.0. + +Complex retiming: Ali Romman (aliromman), PR #365, a22270515e9c6102dda3b22e75ca2c62e82812ff. The unchanged source365 package contains his proof, reconstruction, scalar-map comparison, data and notices. + +Nine-stage complex construction: Zhihao Chen (jacklightChen), with OpenAI Codex assistance, PR #377, d0a620fcc99ba012468d61d01f5bb14007076d50. His full package, proof and upstream notices remain unchanged in source377. + +Kernel bit supplier: Chafik Boukhalfa (chafreaky), with substantial Anthropic Claude assistance, PR #382, 015f00b8da94197f3cef02a60e728c195f8047a6. His unchanged source382 package includes the earlier stage lineage and full credits. + +The underlying E8 certificate is Jacob Sussman's. Earlier bit suppliers and generalized guards include Dylan Crow (utcorvusvolat-dotcom), DaysSky, and the authors credited in the retained notices. No ownership of their local constructions or proofs is claimed here. diff --git a/research/e8-retimed-nine-composition/README.md b/research/e8-retimed-nine-composition/README.md new file mode 100644 index 0000000000..966b1571a7 --- /dev/null +++ b/research/e8-retimed-nine-composition/README.md @@ -0,0 +1,34 @@ +# Retimed nine-stage complex with the kernel bit supplier + +Conditional **kappa = 0.000998390813251625** (`7987126506013/8000000000000000`), **0.014791889125625176% above PR #382**. The complex component binds: `b = 999388595603943/10^18`, while the unchanged #382 bit component supplies `c = 251726760077483/250000000000000000`. + +The composition places Ali Romman's [PR #365](https://github.com/CrocSwap/integer-mult-bounds/pull/365) retimed complex unit in Zhihao Chen's [PR #377](https://github.com/CrocSwap/integer-mult-bounds/pull/377) nine-stage layout and pairs it with Chafik Boukhalfa's [PR #382](https://github.com/CrocSwap/integer-mult-bounds/pull/382) kernel bit word. This contributes the source-bound composition and fresh global replay; the local retiming, bit kernel, and nine-stage construction remain their authors' work. + +## Reproduce + +Python 3.11+, a C++17 compiler, Boost, and the dependencies in `requirements.txt` are needed: + +```sh +python -m pip install -r research/e8-retimed-nine-composition/requirements.txt +python -B research/e8-retimed-nine-composition/verify.py /fresh/output/directory +``` + +The output must not exist. On macOS use `--boost-include /opt/homebrew/include`. GitHub CI runs Python 3.11 and 3.14. All generated files stay outside the package. + +The verifier runs the full unchanged #382 baseline including its five-stage regression, both producer stages, integer source-span rule, local and global F2 columns, mutation controls, exact Gram checks, width-56 banks, degree-two guard, two exact moment engines, and outer assembly. It also runs all eight stages of the unchanged #377 complex verifier and the complete #365 reconstruction and rational scalar-map comparison. + +It then derives a separate working copy of #377, changing only the certificate, certificate/census pins, the expected local child count (3974 to 3973), and expected rational price. `DERIVATION.json` records every old and new file hash. The original source packages stay byte-identical and are checked again at completion. Candidate input and count pins are frozen before execution; no validation is disabled. + +Fresh candidate checks cover the complete local dirty scalar words and erased scratch, exact Clifford representatives for 948 frames and 3,122 directed transitions, data routes and Gaussian phases, nine-stage owner injections, 56,376 residual assignments, the complete emitted template, all 14,727 terminal cover corrections, global mutation controls, the finite invoice, two rational moment engines, all 47 outer inequalities, and adjacent-grid rejection. + +## Change in the profile + +The local retiming removes one paid call and preserves rank mass. Nine stages times eight replicas remove 72 calls. The global rank-count difference is `{1:+144, 2:-432, 3:+288, 4:+72, 5:-432, 6:+288}`. The freshly emitted profile has 310,383 calls, rank mass 1,072,575 and deficit 2,496, with `m=73`, live stock 14,727, physical stock 15,520, and maximum child 48. Halving degree two, row coefficient 15,445 below the retained 20,161, and the 49B induction gap remain unchanged. + +## Conditional scope and open obligations + +This retains every #382 bit admission and open obligation. In particular, its E8 kernel entrance completion remains inherited from its earlier lineage; its seven-block PR234-style port geometry and full finite bill at m=56 are not independently discharged here. We rerun its existing checks and its stated generalized degree-two guard. Its global F2 columns alone do not prove the complete integer circuit. + +The complex side retains #377's compressed-window lift, arbitrary-dirty-bank composition, exact Clifford/compiler, all-cover symbolic route argument, tape/common-grid/row, and all-size analytic interfaces. Its dimension m=73 and degree-two induction interpretation remain explicit assumptions. This PR freshly checks the changed component's full finite template and invoice but does not supply a new Lean proof or an unconditional multiplication exponent. + +`SOURCES.json` pins all three supplier commits. Licenses, notices, original manifests, proof documents, and checkers are retained. Outside this package, the three joint-dual source-pin metadata files reuse #318's repair without a mathematical change. diff --git a/research/e8-retimed-nine-composition/SOURCES.json b/research/e8-retimed-nine-composition/SOURCES.json new file mode 100644 index 0000000000..e4e59e7d30 --- /dev/null +++ b/research/e8-retimed-nine-composition/SOURCES.json @@ -0,0 +1,21 @@ +{ + "bit": { + "pr": 382, + "head": "015f00b8da94197f3cef02a60e728c195f8047a6", + "manifest_sha256": "05f782fdfa4b5c16afb90d8fb09f473ce3a6b620884ecd63fbb34fc4ae173d84" + }, + "complex": { + "pr": 377, + "head": "d0a620fcc99ba012468d61d01f5bb14007076d50", + "manifest_sha256": "3743f954b5a652e51fa9ae5101318345d79f4c897ff9a29d5c54387b92118458" + }, + "retiming": { + "pr": 365, + "head": "a22270515e9c6102dda3b22e75ca2c62e82812ff", + "certificate_sha256": "31467ace2b1667630b72e488e688911a0404b4755d0d2c87560b111ed4c07998" + }, + "comparison": { + "pr": 382, + "kappa": "998243154231047/1000000000000000000" + } +} diff --git a/research/e8-retimed-nine-composition/candidate-five-pins.json b/research/e8-retimed-nine-composition/candidate-five-pins.json new file mode 100644 index 0000000000..e1f30ed209 --- /dev/null +++ b/research/e8-retimed-nine-composition/candidate-five-pins.json @@ -0,0 +1,58 @@ +{ + "V": 120, + "R": 783, + "H": 9, + "cst": 72, + "N": 9039, + "frames": 948, + "scatter": "8178452d0315a0e454b6230b41fd4dca2a55b5519718a2c1ba523f60917a79d4", + "gates": [ + 775, + 1220 + ], + "centre_ranks": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9 + ], + "label_histogram": { + "1": 2093, + "2": 598, + "3": 522, + "4": 141, + "5": 209, + "6": 335, + "7": 43, + "8": 24, + "9": 8 + }, + "ledger": [ + 20825, + 56715, + 120, + 20 + ], + "scalar_steps": [ + 68158, + 72856 + ], + "climbed": { + "A": 1237, + "B": 1953, + "final": 775 + }, + "climb_forward": 3965, + "climb_backward": 3965, + "local_bill": 839936556184, + "stock_bits": [ + 947, + 957, + 958, + 963 + ] +} diff --git a/research/e8-retimed-nine-composition/requirements.txt b/research/e8-retimed-nine-composition/requirements.txt new file mode 100644 index 0000000000..3b2951f558 --- /dev/null +++ b/research/e8-retimed-nine-composition/requirements.txt @@ -0,0 +1,3 @@ +numpy>=2.0,<3 +sympy==1.14.0 +mpmath==1.3.0 diff --git a/research/e8-retimed-nine-composition/source365/NOTICE.md b/research/e8-retimed-nine-composition/source365/NOTICE.md new file mode 100644 index 0000000000..8bbad70301 --- /dev/null +++ b/research/e8-retimed-nine-composition/source365/NOTICE.md @@ -0,0 +1,78 @@ +# Attribution and scope of new work + +Jacob Sussman supplied the E8 label family, circuit, scatter, frame scheduler, +checkers, price routines, and general proof framework in +`jacobalansussman/wht-power-saving-lean`, commit +`9c94857bbaee886f8649edee0bc2d3c738f9555e`. + +`data/original.json.gz` is an unchanged copy from that commit. The new +certificate derives from that file. This package uses the repository's +[Apache-2.0 license](../../LICENSE). The source notices that apply to the +retained certificate are copied below. + +DaysSky's CrocSwap PR352 supplies the connection to the complex branch and the +exact coarse-moment convention used here. Its commit +`04b4c3c478b5bd8797d2663d89d8db4dfd0ad9f2`, source paths, and hashes are +recorded in `sources.json`. Prior frame-retiming contributions +include CrocSwap PR328 and PR350. No claim of priority for the general method is +made. + +The new work consists of four explicit frame changes, a deterministic +generator, independent scalar and frame checks, exact rational cost bounds, +and the short cost proof. OpenAI Codex and its research agents supplied +substantial assistance. New contributions are +offered under the repository's Apache-2.0 license. + +Attribution does not imply review or endorsement by the credited authors. + +## Upstream notice excerpts + +The following text is copied from the copyright header and sections 4 and 8 +of the [upstream NOTICE](https://github.com/jacobalansussman/wht-power-saving-lean/blob/9c94857bbaee886f8649edee0bc2d3c738f9555e/NOTICE). +References within these excerpts refer to that source repository. + +```text +Walsh-Hadamard power saving (wht-power-saving-lean) +Copyright 2026 Jacob Sussman + +Repository: https://github.com/jacobalansussman/wht-power-saving-lean + +4. How the new files were made. + Jacob Sussman made the new files on 2026-10-08, 2026-10-09 and 2026-10-10 + by directing a team of AI agents (Claude). The agents wrote the new Lean + files, the certificate data and the generator scripts. They made the + rebuild scripts under tools/rebuild/, in part by adapting programs of + CrocSwap/integer-mult-bounds (section 6): ten of the thirteen on + 2026-10-09, tidied for this repository on 2026-10-10, and three on + 2026-10-10. On 2026-10-10 they also wrote the search programs under + tools/e8/ and found with them the certificate of the fourth result + (section 8). See README.md, section 4. + +8. The certificate of the fourth result and the search programs. + tools/certificate/gcert1-e8-r783.json.gz, the Lean data modules + generated from it (Work/GCert/Data/Gen/E8*.lean, Work/GCert/Data/Gen/E8/ + and the modules of Work/GCert/Data/ with E8 or B2Ge8 in their names) and + the Python programs under tools/e8/ were made by the agents for this + repository on 2026-10-10 (section 4). The circuit in that certificate + is not the circuit of section 6, and no data file of + CrocSwap/integer-mult-bounds was loaded to make it. It uses three + devices that were published by others in pull requests to that + repository: + - the in-place pair, a + b and a - b formed on the two arrays that held + a and b: icekylinx (#184), carried in #191 and #193 (ikeboy); + - the re-use of a finished helper with a compensating read: jamesyc + (#124) and eumemic (#143); + - the late pairing rule, the choice of which finished helper a new + value takes: Chafik Boukhalfa (the account chafreaky), #200 and #233, + and pull request #2 of this repository. The search programs apply the + idea with a greedy rule of their own; his program, his pairs and his + certificate were not used. + No program of that repository is included in tools/e8/, imported or + run by it. The programs of tools/e8/ have not been compared statement + by statement with the programs of that repository, as those of + tools/rebuild/ were (section 6). The integer programme of + tools/e8/ is solved with the open-source solver HiGHS, called through + SciPy (scipy.optimize.milp), with NumPy; none of the three is included + here. The credits, with links, are in README.md ("Whose ideas the new + unit uses") and in RELATED-WORK.md, section 8. +``` diff --git a/research/e8-retimed-nine-composition/source365/PROOF.md b/research/e8-retimed-nine-composition/source365/PROOF.md new file mode 100644 index 0000000000..332d30c265 --- /dev/null +++ b/research/e8-retimed-nine-composition/source365/PROOF.md @@ -0,0 +1,170 @@ +# Four E8 frame changes + +All gate and register indices below are zero-based indices in the original +certificate. Binary frames are given by integer bit masks. The new certificate +has uncompressed SHA-256 +`3191011e0cb189665c8e0a9b97137dbed50241a0704c8be01c11b1b5a9518fc2`. + +## Circuit changes + +1. Remove `helper388 -= source64` and `helper771 += source64` from A65. + Insert those two additions just before A187, at frame 285 with basis + `[196,56]`. No gate A66 through A186 touches any of these three registers. + Source 64 has label 56. +2. Remove `helper693 += source98` and `helper839 -= source98` from A100. + Insert those two additions just before A198, at frame 296 with basis + `[257,243,14]`. No gate A101 through A197 touches any of these three + registers. Source 98 has label 253, and `253 = 243 XOR 14`. +3. In B193, B916, and B917, replace frame 599, with basis + `F=[276,148,84,51,15]`, by `G=[256,128,64,39,20,15]`. + These gates add helper807 to helper766, distribute plus or minus half of + helper807 to targets149 and155, and add helper766 to helper807. +4. In B873 and B874, replace frame 585, with basis `[161,81,9,5,3]`, + by `[305,161,81,9,5,3]`. The first gate adds half of helper550 to target198 + and subtracts half of helper550 from target202. The second gate adds + helper521 to helper550. + +The first two changes move additions only across gates that touch disjoint +registers. Such scalar operations commute, for all initial register values. +Neither change crosses the scatter. The last two changes keep all scalar +operations and their order. Thus the complete scalar operator and the retained +totals at scatter stay the same. The verifier also compares the complete +1023-by-1023 rational scalar matrices. + +All paths remain nested. The verifier checks actual binary subspace inclusion, +not only dimensions. For the third change, `G=F+span(256)` has dimension six. +The identities + +``` +276 = 256 XOR 20 +148 = 128 XOR 20 +84 = 64 XOR 20 +51 = 39 XOR 20 +``` + +show that F is contained in G. The preceding helper frames are contained in F. +The next helper frames are + +``` +helper766: [256,128,64,37,20,13,2] +helper807: [256,128,64,38,20,14,1] +``` + +They contain G because `39=37 XOR 2=38 XOR 1` and +`15=13 XOR 2=14 XOR 1`. The final target frames also contain G: + +``` +target149: [256,128,64,32,18,8,6,1] +target155: [256,128,64,34,16,10,4,1] +``` + +For target149, use `39=32 XOR 6 XOR 1`, `20=18 XOR 6`, and +`15=8 XOR 6 XOR 1`. For target155, use `39=34 XOR 4 XOR 1`, +`20=16 XOR 4`, and `15=10 XOR 4 XOR 1`. + +For the fourth change, let `F=span(161,81,9,5,3)` and +`G=F+span(305)`. These frames have dimensions five and six. All preceding +frames are contained in F. The next frame of helper521 is +`span(257,145,81,48,9,5,3)`. The next frame of helper550 and both targets is +`span(304,160,80,8,4,2,1)`. Both contain F. They contain the added vector +because `305=257 XOR 48=304 XOR 1`. Thus both contain G, and the paths +remain nested. + +## Child ranks + +Each climb contributes a child whose rank is the increase in frame dimension. +The four changes affect disjoint sets of registers. Thus their histogram +differences add. + +| Change | Register | Old child ranks | New child ranks | +| --- | --- | --- | --- | +| 1 | source64 | 5,3 | 1,4,3 | +| 1 | helper388 | 1,1,2,2,3 | 2,2,2,3 | +| 1 | helper771 | 1,1,1,3,1,2 | 2,1,3,1,2 | +| 2 | source98 | 5,3 | 2,3,3 | +| 2 | helper693 | 1,2,1,5 | 3,1,5 | +| 2 | helper839 | 1,2,1,2,1,1,1 | 3,1,2,1,1,1 | +| 3 | helper766 and helper807, each | 3,2,2,1,1 | 3,3,1,1,1 | +| 3 | target149 and target155, each | 5,3 | 6,2 | +| 4 | target198 and target202, each | 5,2,1 | 6,1,1 | +| 4 | helper521 | 2,1,2,2,1,1 | 2,1,2,1,1,1,1 | +| 4 | helper550 | 2,1,2,2,2 | 2,1,3,1,2 | + +The combined invocation histogram difference is + +``` +rank: 1 2 3 4 5 6 +change: +2 -6 +4 +1 -6 +4 +``` + +Its rank mass is zero and its child count is minus one. Copy cost remains 72. +The five-stage histogram is five times the invocation histogram, plus 240 +children at each rank 4, 8, 16, and 20. Therefore its rank mass remains 56,715, +with dimension m=45, stock W=1263, and deficit mW-56715=120. + +## Strict cost inequality + +Let a be a saving, with 0 1 +M_candidate(876412559609473 / 10^18) < 1 +M_candidate(876412559609474 / 10^18) > 1. +``` + +The logarithm uses the atanh series with a positive geometric tail bound. +Arguments are reduced to [1,2]. The exponential uses a Taylor polynomial of degree 20 with +a geometric tail bound. All arithmetic in these enclosures is rational. +Decimals in the saved result are only displays of the proved margins. + +## Limits + +This proves the finite circuit and recursive-cost improvement under the +stated convention. The general frame-transfer and recursion theorems remain +dependencies. A complete scalar identity is not a proof of the tape compiler +or the integer-multiplication assembly. No global optimum or larger final +integer-multiplication saving is claimed. + +The local verifier checks the finite rational circuit, its frame paths, and +the stated moment. It does not run the upstream checkers or their Lean +representation checks for separate positive and negative parts and digit +limits. The disjoint operations in the first two changes commute in those +representations as well: each moved addition crosses only operations on other +registers. The last two changes leave the scalar operations in place. This +preserves the scalar computation from the pinned baseline; it does not replace +a build of new Lean data. diff --git a/research/e8-retimed-nine-composition/source365/README.md b/research/e8-retimed-nine-composition/source365/README.md new file mode 100644 index 0000000000..50593e7050 --- /dev/null +++ b/research/e8-retimed-nine-composition/source365/README.md @@ -0,0 +1,80 @@ +# E8 complex cost from four coupled frame changes + +This package changes Jacob Sussman's E8 circuit at commit +`9c94857bbaee886f8649edee0bc2d3c738f9555e`. It gives a smaller recursive moment with +the same 783 helpers, copy cost 72, rank mass 56,715, and deficit 120. + +| Quantity | Original | Candidate | +| --- | ---: | ---: | +| Conditional complex saving under PR352's fallback convention | 876248285600677 / 10^18 | 876412559609473 / 10^18 | +| Children in one invocation | 3974 | 3973 | +| Children in five stages | 20830 | 20825 | +| Scalar additions, including scatter | 3876 | 3876 | + +The conditional saving increases by about 0.01875%. + +Four phase-A additions move to two later frames. Two sets of phase-B gates use +larger frames. The original frame table gains two entries. All scalar coefficients, +retained totals, and scatter coefficients stay the same. The complete rational +scalar operator also stays the same, including its dependence on every initial +helper value. + +[PROOF.md](PROOF.md) gives the exact edits and a strict cost inequality for every +saving between zero and one. It does not rely on the approximate moment root. + +## Reproduce + +From the repository root, run: + +```sh +python3 -B research/e8-coupled-retiming/verify.py +``` + +The script uses Python and its standard library. It checks source hashes, +rebuilds the candidate, checks every frame path, reconstructs the scalar source +map and histogram, and compares all 1,046,529 entries of the complete scalar maps. +A coefficient identity checks the +strict-concavity proof for the full saving interval. Exact rational bounds prove both +reported savings. In each case the next 10^-18 grid point fails. Four damaged +inputs must fail for their stated reasons. + +To write the candidate to another file, run: + +```sh +python3 -B research/e8-coupled-retiming/retime.py /tmp/e8-retimed.json.gz +``` + +The saved verification result is `verification.json`. Run the script to obtain +a fresh result; the script does not use that saved result as an input. + +## Scope + +This is a finite complex-circuit improvement. It does not change the selected +integer-multiplication result, the bit circuit, or its saving. + +The new certificate has not been compiled in Lean. The original certificate's +Lean data and theorem do not certify this changed file. A formal extension must +generate and compile new data. The general frame-transfer, helper cleanup, +recursive construction, and multiplication assembly remain inherited +dependencies. The complete scalar-map comparison does not prove those steps. +The script does not run the upstream checkers or their Lean representation +checks for separate positive and negative parts and digit limits. + +## Source and search + +The baseline is Sussman's `tools/certificate/gcert1-e8-r783.json.gz`. The exact +commit and original-data hash are in `sources.json`. The E8 complex +connection and fallback convention follow CrocSwap PR352 at +`04b4c3c478b5bd8797d2663d89d8db4dfd0ad9f2`. The exact reference paths and +hashes are recorded as mathematical provenance in `sources.json`; those files +are not imported or run. Earlier retiming +work includes Sussman's `tools/e8/sched.py` and CrocSwap PR328 and PR350. +This package supplies a new E8 witness; it does not claim to invent retiming. + +The candidate came from bounded searches over pairs of moves and common +intermediate frames. Frames came from existing stops and their joins or +intersections. A later search moved two more complete gates to one common +intermediate frame. These searches do not establish +global optimality. The search is not needed to reproduce or verify the witness. + +See [NOTICE.md](NOTICE.md) for attribution and AI assistance. diff --git a/research/e8-retimed-nine-composition/source365/data/original.json.gz b/research/e8-retimed-nine-composition/source365/data/original.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..0bd0bacf744f1c31419e05b834e34a92be77ae57 GIT binary patch literal 21883 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