diff --git a/Makefile b/Makefile index 84fe8290f3..1bd0bb83a6 100644 --- a/Makefile +++ b/Makefile @@ -428,3 +428,10 @@ pair-assembly-verify: pair-assembly-producer pair-assembly-check .PHONY: verify-pair verify-pair: pair-assembly-verify python3 scripts/audit_pair_candidate.py --check docs/research/community-pair-arithmetic.json + +.PHONY: split-pair-verify +split-pair-verify: + python3 scripts/experiments/verify_split_pair.py + python3 -m unittest discover -s tests -p 'test_split_pair*.py' -v + +verify-joint: split-pair-verify diff --git a/NOTICE b/NOTICE index b565637758..8adab44ba3 100644 --- a/NOTICE +++ b/NOTICE @@ -302,3 +302,23 @@ inherited PR #48 sources. The stacked witness in research/pair-assembly/frame uses eumemic's PR #57 joint frame compiler unchanged; its driver and verifier are adaptations of PR #57's skip_frame_compiler.py, skip_frame_compose.py and verify_skip_frame.py. Original notices are retained. + +Aligned split-pair composition (2026-10-08) +------------------------------------------ +Avi Eisenberg: PR62 interval strips and core-aware pair assembly. Dominik +Scholz with OpenAI assistance: PR63 ranked-frame composition and PR68 pending +live-carrier controls. Rohan Arun with OpenAI assistance: PR65 region schedules +and refined exact arithmetic, and PR67 all-rank profile-cost selection and +its profile oracle. Rohan Garg / rohangar1 +with substantial OpenAI Codex assistance: PR59 split-pair operation. Eumemic +with substantial OpenAI Codex assistance: PR57 joint reversible compiler and +independent physical-word/profile checks. Chafik Boukhalfa with OpenAI Codex +assistance: PR60 ranked reclamation and this selected [1,1,2] split vector, +aligned common-point permutation, next-use profile score, composition and +certification package. +The complete PR65 baseline words, profiles and arithmetic, plus 43 original +source/provenance files, are preserved under references/frame-compiler/pr65. +The original PR59 split operation and notices are separately preserved. +PR67's compiler/oracle and baseline profile, and PR68's compiler/driver/proof, +retain their original bytes, licenses and notices in their own archives. +All previous notices and mathematical dependencies remain applicable. diff --git a/README.md b/README.md index 035c259b68..4a9b481aa3 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,27 @@ speedup. The model and general reduction are inherited from OpenAI's [Selected parameter certificate](research/matrix-exponent-synthesis/candidate/arithmetic.json) · [Independent arithmetic check](docs/research/community-pair-arithmetic.json) +## Additional conditional construction: anchored split frames with live reclamation + +The [split-pair proof and reproduction guide](research/split-pair/README.md) +gives **κ=51414646104039/10^18=5.1414646104039e-5**, approximately +**0.7463402960%** above the complete pinned PR67 witness. It combines +the PR62/63 interval pair graph, the PR59 split operation, PR65's schedules +and exact arithmetic, PR67's profile-cost selection, and PR68's pending live +controls on the PR60/57 reversible frame compiler. +The new selection uses split vector `[1,1,2]` and aligns the first intact +global pair across common-point permutations. A new integer score uses each +live control's known next-use frame. Actual roles are R23=27455 +and R25=36015, with W=135075665. + +`make split-pair-verify` regenerates the words, checks arbitrary dirty scratch +and actual fixed-I+J profiles, and certifies the complete recursive child +list and strict assembly inequalities. This separately submitted finite +conditional witness retains the inherited all-size hypotheses. Its namespace, +sources and comparison remain distinct from the maintainer-reviewed statement +above. Prepared by Chafik Boukhalfa with OpenAI Codex assistance; contributor +credits and original notices are retained in the package. + ## What changed **Avi Eisenberg's interval strips and core-aware pair assembly (#62)** arrange diff --git a/certificates/joint-dual-kappa.json b/certificates/joint-dual-kappa.json index d92f653fe4..f5a3e12f67 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": "fd1aab7d75753b4b55b2377f26119dae74f367b0b4fab66cba42d944b3042cc9", + "source_manifest_sha256": "5cd14064a00c82909f76f63fe7f06d23058b6157b00e6402e9a535324592b543", "sources": [ { "files": { diff --git a/certificates/joint-dual-validation.json b/certificates/joint-dual-validation.json index 99adb4cf74..d9968e2a36 100644 --- a/certificates/joint-dual-validation.json +++ b/certificates/joint-dual-validation.json @@ -226,7 +226,7 @@ } }, "bit_saving": "2382370177/50000000000000", - "certificate_sha256": "2ed658f05365b28825e24a6e7bac9fc9cc015d5a5d63d9579f4ac6e0640ae559", + "certificate_sha256": "1f8dc14c3f2e2420c39e2d77ad307f100fd2d5ef60771c30f2a9ecf3f55cf3fd", "kappa": "4764513337/100000000000000", "margins": 7, "producer_words_regenerated_and_matched": true, diff --git a/certificates/split-pair-compiler.json b/certificates/split-pair-compiler.json new file mode 100644 index 0000000000..e74fb90ba1 --- /dev/null +++ b/certificates/split-pair-compiler.json @@ -0,0 +1,345 @@ +{ + "axes": { + "23": { + "compiled": { + "all_physical_frame_inclusions": true, + "baseline_pr48_roles": 36432, + "baseline_pr65_roles": 27918, + "complete_dirty_basis_both_orientations": true, + "dirty_basis_vectors": 30997, + "elementary_xors": 162103, + "graph_configuration": { + "anchor": true, + "groups": [ + 1, + 1, + 2 + ], + "schedule": "cover-core" + }, + "h": 23, + "histogram": { + "0": 327738, + "1": 58564, + "10": 539, + "11": 98, + "12": 671, + "13": 254, + "14": 1927, + "15": 439, + "16": 440, + "17": 487, + "18": 3417, + "19": 6882, + "2": 78945, + "21": 171, + "22": 23, + "3": 10224, + "4": 15382, + "5": 6461, + "6": 1593, + "7": 694, + "8": 1229, + "9": 411 + }, + "mode": { + "matching": true, + "reclaim": true + }, + "paid_clones": 0, + "pending_cost_uses_next_use_frame": true, + "pending_live_controls": true, + "rank_mass": 631971, + "reclamation_order": "all eligible retired ranks, exact integer profile cost, XOR count, slot ID", + "roles": 27455, + "scalar": { + "additions": 68771, + "all_additions_disjoint": true, + "all_partial_outputs_exact": true, + "circuit_sha256": "9799e2c1d16bedd74db65afaf26aa0983e2d3ec5acbe4c56751721dbae50ec20", + "every_node_has_common_point": true, + "h": 23, + "inputs": 1771, + "merged_additions": 11937, + "partial_outputs": 5336, + "roles": 74107 + }, + "source_pr65_head": "49e84f939d15b618b50714eb039cabf97c74256a", + "source_pr67_head": "b3745601e947a94316bf25c2c6263d93c06e3364", + "source_pr68_head": "734c58e225e9d2254570c3b50296ed96943f62ea", + "stats": { + "augmentations": 134, + "clearing_xors": 1630, + "live_anchor_candidates": 76133, + "live_anchor_xors": 64, + "matched": 44071, + "multi_node_regions": 9752, + "reclaimed": 925, + "regions": 59801 + } + }, + "gzip_sha256": "ca504cb3912358a9560d4916eaeea2e415c24991db0bc7d397e50ea53d9cb24b", + "replay": { + "elementary_xors": 162103, + "full_basis_vectors": 30997, + "h": 23, + "histogram": { + "0": 175253, + "1": 58564, + "10": 539, + "11": 98, + "12": 671, + "13": 254, + "14": 1927, + "15": 439, + "16": 440, + "17": 487, + "18": 3417, + "19": 6882, + "2": 78945, + "21": 171, + "22": 23, + "3": 10224, + "4": 15382, + "5": 6461, + "6": 1593, + "7": 694, + "8": 1229, + "9": 411 + }, + "output_roles": 5336, + "rank_mass": 631971, + "roles": 27455, + "status": "independent serialized word, exact frames, full input and dirty basis both orientations PASS", + "word_length": 673206 + }, + "word_sha256": "b0379d99fd6c10307da0d0fc526ed6171f19105a47bae61730fc3745ef60bd9e" + }, + "25": { + "compiled": { + "all_physical_frame_inclusions": true, + "baseline_pr48_roles": 48329, + "baseline_pr65_roles": 36586, + "complete_dirty_basis_both_orientations": true, + "dirty_basis_vectors": 40615, + "elementary_xors": 225757, + "graph_configuration": { + "anchor": true, + "groups": [ + 1, + 1, + 2 + ], + "schedule": "reverse-node" + }, + "h": 25, + "histogram": { + "0": 455858, + "1": 77226, + "10": 791, + "11": 38, + "12": 758, + "13": 149, + "14": 681, + "15": 167, + "16": 2265, + "17": 680, + "18": 566, + "19": 828, + "2": 114947, + "20": 4481, + "21": 8893, + "23": 280, + "24": 25, + "3": 13560, + "4": 19874, + "5": 8387, + "6": 2967, + "7": 1127, + "8": 1443, + "9": 664 + }, + "mode": { + "matching": true, + "reclaim": true + }, + "paid_clones": 0, + "pending_cost_uses_next_use_frame": true, + "pending_live_controls": true, + "rank_mass": 900975, + "reclamation_order": "all eligible retired ranks, exact integer profile cost, XOR count, slot ID", + "roles": 36015, + "scalar": { + "additions": 96718, + "all_additions_disjoint": true, + "all_partial_outputs_exact": true, + "circuit_sha256": "e25c6e1f52aec60245f4540cdfe97b31bd4f0af0d06ba0cd5db1d6849324fd30", + "every_node_has_common_point": true, + "h": 25, + "inputs": 2300, + "merged_additions": 17168, + "partial_outputs": 6925, + "roles": 103643 + }, + "source_pr65_head": "49e84f939d15b618b50714eb039cabf97c74256a", + "source_pr67_head": "b3745601e947a94316bf25c2c6263d93c06e3364", + "source_pr68_head": "734c58e225e9d2254570c3b50296ed96943f62ea", + "stats": { + "augmentations": 229, + "clearing_xors": 2344, + "live_anchor_candidates": 102320, + "live_anchor_xors": 140, + "matched": 64255, + "multi_node_regions": 13075, + "reclaimed": 1373, + "regions": 84843 + } + }, + "gzip_sha256": "54f612f688d6ba3b1fffdd83aa6053035006fee90cb4b3899fc7880f35c38b4f", + "replay": { + "elementary_xors": 225757, + "full_basis_vectors": 40615, + "h": 25, + "histogram": { + "0": 242882, + "1": 77226, + "10": 791, + "11": 38, + "12": 758, + "13": 149, + "14": 681, + "15": 167, + "16": 2265, + "17": 680, + "18": 566, + "19": 828, + "2": 114947, + "20": 4481, + "21": 8893, + "23": 280, + "24": 25, + "3": 13560, + "4": 19874, + "5": 8387, + "6": 2967, + "7": 1127, + "8": 1443, + "9": 664 + }, + "output_roles": 6925, + "rank_mass": 900975, + "roles": 36015, + "status": "independent serialized word, exact frames, full input and dirty basis both orientations PASS", + "word_length": 935228 + }, + "word_sha256": "4c956749f0ec72c61875c51099afdf23e69ccea268a9b43b8d46da2ffdb24903" + } + }, + "source": { + "inherited": { + "files": { + "research/copied-fixed/balanced_assembly.py": "4d27575dcad2b45a281a34054d311409ecd954f373c0c3a62c29bcc843f06a86", + "research/copied-fixed/certificate.json": "33b3373c04e18a7f4cee33ba68da6ed71934acc3e0179cca6197696be4befa22", + "research/copied-fixed/changed_graph.py": "375a7ca6cac6d153c1880fd5ea5b4525e5dca9d4ee3018d24d679c219b59c5b3", + "research/copied-fixed/profiles.cpp": "b9fbd71c746609948b60c441ba4601e88436956fe636d1810f270ce4ce6a63a6", + "research/copied-fixed/verify.py": "44932182ce6c4d39776650311262ef0ac1ea9b5da7220bc0f728e2789881f84a", + "scripts/exclusion_circuit.py": "b253f9d7318becda1c1f3b24e2287ed44a9c27fcea00cf9d531afb950d0457a0", + "scripts/partial_swap/binary_io.hpp": "7e143eb75bb342ac8f0c82a60005e7c35c9ec827de479bf6fb773151f3af5fa1", + "scripts/partial_swap/paired.py": "ddcecace3a8e04d690914cbd64873ab8dde8c0c3477a255767b0ed6f639bb0c7", + "scripts/partial_swap/shared.py": "81e9af92cdf38243a540cdcff2062778e449467848d444da37a9553c12ca4c34" + }, + "head": "b7194b8586844956904b33e9fe18f0c75606c11b", + "scope": "Unmodified producer inputs for experimental frame compiler; attribution retained in each file", + "source_pr": "https://github.com/CrocSwap/integer-mult-bounds/pull/48" + }, + "pr65": { + "author": "Rohan Arun with OpenAI assistance", + "commit": "49e84f939d15b618b50714eb039cabf97c74256a", + "files": { + "LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "NOTICE": "5931cb7d43e09380594b113018cac70258fb66e0673b91f706b01ea482c1be1a", + "references/frame-compiler/pr48/SOURCE.json": "6ccc673f88d3650d75ed600b082fe2fc2866dd88a172d182a38c1d0cd27d24b3", + "references/frame-compiler/pr48/research/copied-fixed/balanced_assembly.py": "4d27575dcad2b45a281a34054d311409ecd954f373c0c3a62c29bcc843f06a86", + "references/frame-compiler/pr48/research/copied-fixed/certificate.json": "33b3373c04e18a7f4cee33ba68da6ed71934acc3e0179cca6197696be4befa22", + "references/frame-compiler/pr48/research/copied-fixed/changed_graph.py": "375a7ca6cac6d153c1880fd5ea5b4525e5dca9d4ee3018d24d679c219b59c5b3", + "references/frame-compiler/pr48/research/copied-fixed/profiles.cpp": "b9fbd71c746609948b60c441ba4601e88436956fe636d1810f270ce4ce6a63a6", + "references/frame-compiler/pr48/research/copied-fixed/verify.py": "44932182ce6c4d39776650311262ef0ac1ea9b5da7220bc0f728e2789881f84a", + "references/frame-compiler/pr48/scripts/exclusion_circuit.py": "b253f9d7318becda1c1f3b24e2287ed44a9c27fcea00cf9d531afb950d0457a0", + "references/frame-compiler/pr48/scripts/partial_swap/binary_io.hpp": "7e143eb75bb342ac8f0c82a60005e7c35c9ec827de479bf6fb773151f3af5fa1", + "references/frame-compiler/pr48/scripts/partial_swap/paired.py": "ddcecace3a8e04d690914cbd64873ab8dde8c0c3477a255767b0ed6f639bb0c7", + "references/frame-compiler/pr48/scripts/partial_swap/shared.py": "81e9af92cdf38243a540cdcff2062778e449467848d444da37a9553c12ca4c34", + "research/pair-assembly/PROOF.md": "30685624bf922bb9d9f7ed4b0d367a660fe373cc9ee28fec33585bd8c7023e75", + "research/pair-assembly/SOURCE.json": "8f8c0fb7ca012ec5092136744eb52a0222697a8275d14aa8f667339c86baf9d0", + "research/pair-assembly/frame/frame-compiler.json": "86eeb10989a61e571938178b91dfe1b81ba39ec97cc93124c00cecd91dc6ef13", + "research/pair-assembly/frame/frame_verify.py": "fafe25d57166a747eeb847444a2e02dd7eed19038b93a2c495014d147d04a8fb", + "research/pair-assembly/pair_graph.py": "3d47e89d2649c90800a276bdd0480131def50e0bdf92c122a19494b55bf17420", + "research/reordered-rank-pair/README.md": "13fbcfe41a4cb22ea6f1d59c98305add85a86a4db4677ab3450fd34b139cf39c", + "research/reordered-rank-pair/arithmetic/README.md": "93a1e4eb52ff3b3f3b24464ce1e7b5498fac2da2789cab5deb76e7342fe36775", + "research/reordered-rank-pair/arithmetic/audit-receipt.json": "f481198b192790b65dde2f93a837fb5e2e7508322f25bbf26f73530febd1f659", + "research/reordered-rank-pair/arithmetic/audit.py": "aa297fffcdaa133f5dee17d97fac72aa5ba2cf943da5a8a5e3f4d62f6f0a7f79", + "research/reordered-rank-pair/arithmetic/certificate.json": "6474f4c638b5a16de5a7ed6054f3ad28404eac17eaa4570aab2ef378d6e7e1a3", + "research/reordered-rank-pair/arithmetic/refine.py": "e0488c919e76850313ff93d7da704a7fcc14a316eee2cac81e2b8dff9c145b5d", + "research/reordered-rank-pair/arithmetic/test_arithmetic.py": "d4824c8c1cc6c726daf9104c820aefe1e57ce6a8625871954a54a538b5af0524", + "research/reordered-rank-pair/current-comparison.json": "be8713b049b34b41d82ef3e03380f6b45d7b33bf8611af9942dea7597406dc07", + "research/reordered-rank-pair/frame-compiler.json": "48f86ffe2c2a16d3817ed3ab814cd1442442ec15f827d43a7383a0a953ff4337", + "research/reordered-rank-pair/frame-profiles-23.json": "fec377bcf1512a427674983256b900229d4133026445b6e680c6e1e6dde5af7d", + "research/reordered-rank-pair/frame-profiles-25.json": "28b4b911e26fbc02dde0d2e1458ed16227f756126ab8144d6d45e164d1165262", + "research/reordered-rank-pair/frame-transitions-23.json": "86646f1110595294cccc15603c552f0a153574a690b69c3b144d84a449891103", + "research/reordered-rank-pair/frame-transitions-25.json": "c333c348665d12b95e168ca4fac48bfdca335104edd0f29c81fe94bec292e774", + "research/reordered-rank-pair/frame-word-23.json.gz": "a44e038e1c548ea8ac31dd04acc2bba7951b22e17df7b7ad3464ea2b504a8da4", + "research/reordered-rank-pair/frame-word-25.json.gz": "ad8b299697f90b185b6b791313b505586be97965519052100d097df6199e00c5", + "research/reordered-rank-pair/paired-candidate.json": "34a500d739537235dfc5d24325c22856ca4567b9eac998a3bce9b13db5501940", + "research/reordered-rank-pair/test_negative.py": "88832242e6f74e3fe08d109d4f21ff188a9ca0ae50c3e8f31da0243fe9501510", + "research/reordered-rank-pair/verify.py": "e84ed21dad24f9b8c429441caae49c13ccae883be2f04e696993cfe665b57352", + "scripts/exclusion_circuit.py": "b253f9d7318becda1c1f3b24e2287ed44a9c27fcea00cf9d531afb950d0457a0", + "scripts/experiments/binary_frame_math.py": "1f96e8aafc8ae89f8eeec5d03800131d93d58e01bf8a7fca8feb03702d1740d0", + "scripts/experiments/binary_frame_profile_prepare.py": "8a50381cab00b33e62b3a057d199ba5e19647929135c95b0fd63fc8a8ef7c9b3", + "scripts/experiments/binary_frame_profiles.cpp": "8e2e391d3ee57cbb1372c68e4aa031e1b861321536eabd642ada54e12e678669", + "scripts/experiments/binary_frame_replay.py": "392e78e62d7685c99a5888a7da743ea6c3dcad631af4a743c91e0c09348442bc", + "scripts/experiments/rank_pair_compiler.py": "9984aaccf880e4840402322d76678bfddb33ce7e494af78430a43429f51b85fd", + "scripts/partial_swap/paired.py": "ddcecace3a8e04d690914cbd64873ab8dde8c0c3477a255767b0ed6f639bb0c7", + "scripts/partial_swap/shared.py": "81e9af92cdf38243a540cdcff2062778e449467848d444da37a9553c12ca4c34" + }, + "repo": "rohanarun/integer-mult-bounds", + "scope": "Authenticated PR65 finite source closure and complete published baseline physical words, profiles and arithmetic. Original upstream sources and notices are preserved byte-for-byte. Actual inherited dependencies are additionally checked through the shared PR48 manifest.", + "shared_dependency_manifest": "../pr48/SOURCE.json", + "shared_dependency_manifest_sha256": "6ccc673f88d3650d75ed600b082fe2fc2866dd88a172d182a38c1d0cd27d24b3" + }, + "pr67": { + "author": "Rohan Arun with OpenAI assistance", + "commit": "b3745601e947a94316bf25c2c6263d93c06e3364", + "files": { + "LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "NOTICE": "5931cb7d43e09380594b113018cac70258fb66e0673b91f706b01ea482c1be1a", + "research/slot-cost-rank-pair/README.md": "e0fcd8e732c8b8becb3d860eb83dc979ed5e6b33ba16caf9dca1e44f7929c340", + "research/slot-cost-rank-pair/arithmetic/certificate.json": "e66f955f1b76ce3db7ecb84294993a072f42f972b8f3040015c12e6dc953d698", + "research/slot-cost-rank-pair/compiler.py": "29296211e0532aaf19101a6b2f2ceaebe374af95ae3acd63e63656db0afef7ae", + "research/slot-cost-rank-pair/frame-compiler.json": "eb5c0b401e677d3958ecfcd6d8de3bc825c4fb66d1cf79c3fcbcf23938ca6e69", + "research/slot-cost-rank-pair/paired-candidate.json": "be0322ad60f73923953f242eaffaf114ff12438e8617dae38888b77fa03184cc", + "research/slot-cost-rank-pair/profile_oracle.cpp": "d1f6b650de9fb5842b412595369271d9eeb6f54045c76c0fb5cad29854955c35", + "research/slot-cost-rank-pair/verify.py": "3c1d2eac9d3d2f13b60503deaa84e11ab2975aa84af71c8ad74584c5902b2d77" + }, + "repo": "rohanarun/integer-mult-bounds", + "scope": "Preserved immutable source and reported complete baseline profile/arithmetic for all-rank profile-cost reclamation. This package verifies its own composed words, actual paid profile and exact improvement.", + "shared_dependency_manifest": "../pr48/SOURCE.json", + "shared_dependency_manifest_sha256": "6ccc673f88d3650d75ed600b082fe2fc2866dd88a172d182a38c1d0cd27d24b3" + }, + "pr68": { + "author": "Dominik Scholz with OpenAI assistance", + "commit": "734c58e225e9d2254570c3b50296ed96943f62ea", + "files": { + "LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "NOTICE": "d9db68e85db965bf7037d535ddc354b096b7c3b8f4cb0eb4887dc61eba5eae23", + "research/global-anchor-screen/PROOF.md": "3023c8c039acb3afc2a1e0c2ee55dcffaa4a1a2961076222ae20b03d0f3c6a38", + "research/global-anchor-screen/SOURCE.json": "f6249b8f91c7721a59ecc6d43a3f2ec65162578203bd430ef76732a3937399f3", + "research/global-anchor-screen/compiler-frozen.py": "12d646fa9ad69e4f3c532fe69080d8fe1509cde0968a6ab52a9d60273803adc0", + "research/global-anchor-screen/selected-manifest.json": "97bd86fc20fb3aee2d1adacd6a485b12e918b7340d2d3ca70e1318889e13e3a0", + "research/global-anchor-screen/selected_compile.py": "86bdfcf599c6b131e376773fe177bca57a9f63c9b60bad5de8aa00982d779b22" + }, + "repo": "DominikScholz/integer-mult-bounds", + "scope": "Preserved original pending live-carrier compiler, selected driver, proof and source provenance. This package composes the pending lifecycle and both containment checks with PR67 profile-cost selection and its own next-use scoring.", + "shared_dependency_manifest": "../pr48/SOURCE.json", + "shared_dependency_manifest_sha256": "6ccc673f88d3650d75ed600b082fe2fc2866dd88a172d182a38c1d0cd27d24b3" + } + } +} diff --git a/certificates/split-pair-kappa.json b/certificates/split-pair-kappa.json new file mode 100644 index 0000000000..28e4da0b52 --- /dev/null +++ b/certificates/split-pair-kappa.json @@ -0,0 +1,1547 @@ +{ + "assembly": { + "absorption_gap": "3383538513793298997152069121/3788073550339794868050835561000000000000000000", + "constraints": { + "K_dominates_log": "194762461953764197464516131949164439/3788073550339794868050835561000000000000", + "K_geometry": "2841103853371044868050835561/3788073550339794868050835561000000000000", + "a_below_b": "5070677573513/250000000000000000", + "a_positive": "12854322426487/250000000000000000", + "alpha_below_one": "7575757575753788073550339794868050835561/7576147100679589736101671122000000000000", + "alpha_below_one_fourth": "1893647250244095771474086453368050835561/7576147100679589736101671122000000000000", + "alpha_positive": "389524925801662551331327131949164439/7576147100679589736101671122000000000000", + "artificial_boundary": "212133676918758235775904495288604152506683/30304588402718358944406684488000000000000", + "b_below_one_over32": "311783/10000000", + "beta_below_one": "19/20", + "beta_positive": "1/20", + "c_below_one": "124993572838755519354322426487/125000000000000000000000000000", + "c_positive": "6427161244480645677573513/125000000000000000000000000000", + "cell_above_band": "7575757575746211926449660205131949164439/15152294201359179472203342244000000000000", + "compact_leaf": "2087213786769354322426487/125000000000000000000000000000", + "compact_reservations": "1/4000000000000", + "delta_below_one_eighth": "999999999999/8000000000000", + "delta_positive": "1/8000000000000", + "epsilon_below_one": "194762464794868050835561/3788073550339794868050835561", + "epsilon_positive": "3787878787875000000000000000/3788073550339794868050835561", + "g1_above_kappa": "3788076933878308661349832713069121/3788073550339794868050835561000000000000000000", + "g2_above_kappa": "2643601909/1000000000000000000", + "g3_above_kappa": "3383538513793298997152069121/3788073550339794868050835561000000000000000000", + "g4_above_kappa": "2643601909/1000000000000000000", + "g5_above_kappa": "1420530964915936868818060487444121/3788073550339794868050835561000000000000000000", + "g6_above_kappa": "3314567740085834302843478267944121/3788073550339794868050835561000000000000000000", + "g7_above_kappa": "3787684025413993208883042747661349832713069121/3788073550339794868050835561000000000000000000", + "gamma_sublinear": "1/2000000000000", + "guard_width": "194762464794868050835561/3788073550339794868050835561", + "lambda_above_internal": "12854322426487/250000000000000000000000000000", + "lambda_above_sigma": "5070677573525854322426487/250000000000000000000000000000", + "lambda_above_tau": "12854322426487/250000000000000000000000000000", + "lambda_prime_above_lambda": "12854322426487/250000000000000000000000000000", + "lambda_prime_below_one": "6427161213230645677573513/125000000000000000000000000000", + "literal_scalar_guard": "9693793493753822316795466474748", + "phase_boundary": "311619939883715330997102731949164439/6060917680543671788881336897600000000000", + "phase_leaf_above_bit": "4174427573513/250000000000000000", + "phase_local": "1558099714570870856344693131949164439/30304588402718358944406684488000000000000", + "prime_interval_packing": "194762464794868050835561/3788073550339794868050835561", + "q_below_internal": "12854322426487/125000000000000000000000000000", + "q_below_leaf": "2087213786769354322426487/125000000000000000000000000000", + "q_below_reservations": "1/4000000000000", + "q_positive": "6427161213230645677573513/125000000000000000000000000000", + "record_suffix": "194762464794868050835561/3788073550339794868050835561", + "row_product_gap": "6548/25", + "short_record_fallback": "946921003849958684943088358953439458652095793/947018387584948717012708890250000000000000000", + "small_field_exposure": "1/1000000000000" + }, + "finite_bridge": { + "bit": { + "W": 135075665, + "halving_degree": 9, + "m": 575, + "maxchild": 529, + "wire_bits": 28 + }, + "complex": { + "W": 537696432, + "halving_degree": 20, + "m": 784, + "maxchild": 756, + "s": 421548223824, + "scalar_group_upper": 4793351472, + "wire_bits": 30 + }, + "rows": { + "coefficient": 852, + "degree": 2000, + "degree_gap": "6548/25", + "suffix_slope": 8000 + }, + "semantic": { + "B": 9696565176891520488614054257040, + "C0": 2358858462850846165593256368932965330169899180021667007021321420800, + "C1": 1, + "E": 9696565176891520488192506033216, + "induction_gap": 533311084729033626873772984137200, + "literal_charge": 2771683137698171397039558468, + "strict_literal_gap": 9693793493753822316795466474748 + } + }, + "margins": { + "g1": "194762464794868050835561/3788073550339794868050835561", + "g2": "12854322426487/250000000000000000", + "g3": "194762461006794500495766131949164439/3788073550339794868050835561000000000000", + "g4": "12854322426487/250000000000000000", + "g5": "311619939883715330997102731949164439/6060917680543671788881336897600000000000", + "g6": "1558099714570870856344693131949164439/30304588402718358944406684488000000000000", + "g7": "3787878787875000000000000000/3788073550339794868050835561" + }, + "minimum_margin": "194762461006794500495766131949164439/3788073550339794868050835561000000000000", + "parameters": { + "C0": 2358858462850846165593256368932965330169899180021667007021321420800, + "C1": "1", + "a_bit": "12854322426487/250000000000000000", + "a_complex": "717/10000000", + "alpha_squared_power": "389524925801662551331327131949164439/7576147100679589736101671122000000000000", + "beta": "1/20", + "c": "6427161244480645677573513/125000000000000000000000000000", + "delta": "1/8000000000000", + "epsilon": "3787878787875000000000000000/3788073550339794868050835561", + "h": "1/1000000000000", + "kappa": "51414646104039/1000000000000000000", + "lambda_": "249987145677573525854322426487/250000000000000000000000000000", + "lambda_prime": "124993572838786769354322426487/125000000000000000000000000000", + "q": "6427161213230645677573513/125000000000000000000000000000", + "sigma": "9999283/10000000", + "tau": "249987145677573513/250000000000000000" + }, + "recurrence": { + "internal": "249987145677573513/250000000000000000", + "leaf": "199986377/200000000", + "reservations": "124993572838755519354322426487/125000000000000000000000000000" + }, + "scoped_limit": "12854322426487/250012854322426487" + }, + "bit": { + "L": 2226400, + "N": 4073300, + "W": 135075665, + "axes": [ + { + "R": 27455, + "blocks": [ + 0, + 357148, + 21253, + 8022, + 5466, + 4156, + 3835, + 3250, + 2612, + 2109, + 1750, + 1529, + 1008, + 863, + 555, + 461, + 234, + 149, + 40, + 9, + 0, + 23, + 0, + 0 + ], + "crt_disagreements": 0, + "crt_matrices": 5750, + "distinct_matrices": 38745, + "field_prime": 2305843009213693951, + "frames": 59803, + "h": 23, + "loss": 506, + "rank_sum": 631971, + "v": 1771 + }, + { + "R": 36015, + "blocks": [ + 0, + 492698, + 27869, + 10467, + 7897, + 5674, + 5027, + 4110, + 3809, + 3047, + 2490, + 2047, + 1814, + 1443, + 1151, + 898, + 567, + 470, + 271, + 163, + 47, + 13, + 0, + 25, + 0, + 0 + ], + "crt_disagreements": 0, + "crt_matrices": 7444, + "distinct_matrices": 52075, + "field_prime": 2305843009213693951, + "frames": 84845, + "h": 25, + "loss": 600, + "rank_sum": 900975, + "v": 2300 + } + ], + "child_multiplicities": { + "1": 1787694458, + "10": 8434790, + "11": 7141937, + "12": 5530994, + "13": 4540453, + "14": 3314921, + "15": 2650658, + "16": 1542357, + "17": 9321670, + "18": 571941, + "19": 309373, + "2": 98237899, + "20": 83237, + "21": 16369123, + "23": 71337375, + "25": 63782565, + "3": 36987657, + "4": 26557387, + "481": 8146600, + "5": 19607454, + "525": 63782565, + "529": 63146500, + "6": 17723317, + "7": 14753810, + "8": 12753339, + "9": 10246937 + }, + "deficit": 1846900, + "excluded_moment": { + "degree": 8, + "lower": "33768916250000000010022095404584149100145740282531/33768916250000000000000000000000000000000000000000", + "rounding_denominator": 10000000000000000000000000000000000000000, + "saving": "51417289705949/1000000000000000000", + "strict_gap": "-1252761925573018854569429712673/4221114531250000000000000000000000000000000000000", + "terms": { + "1": { + "exp_lower": "10003267778655445106790722302765419144453/10000000000000000000000000000000000000000", + "exp_upper": "2000653555731089021358144460553083931993/2000000000000000000000000000000000000000", + "log_lower": "3177185020398675220004135749131/500000000000000000000000000000", + "log_upper": "6354370040797350440008271498263/1000000000000000000000000000000", + "weight": "77725846/3376891625" + }, + "10": { + "exp_lower": "10002083535030640392531679990230827409983/10000000000000000000000000000000000000000", + "exp_upper": "2000416707006128078506335998046165584857/2000000000000000000000000000000000000000", + "log_lower": "2025892473901652377995140021789/500000000000000000000000000000", + "log_upper": "4051784947803304755990280043579/1000000000000000000000000000000", + "weight": "146692/135075665" + }, + "11": { + "exp_lower": "312563578719653801492982787854331371607/312500000000000000000000000000000000000", + "exp_upper": "10002034519028921647775449211338604405719/10000000000000000000000000000000000000000", + "log_lower": "3956474767998979895946327920297/1000000000000000000000000000000", + "log_upper": "1978237383999489947973163960149/500000000000000000000000000000", + "weight": "3415709/3376891625" + }, + "12": { + "exp_lower": "312562180347969491295131019477506502967/312500000000000000000000000000000000000", + "exp_upper": "10001989771135023721444192623280208609233/10000000000000000000000000000000000000000", + "log_lower": "3869463391009350129778562018423/1000000000000000000000000000000", + "log_upper": "483682923876168766222320252303/125000000000000000000000000000", + "weight": "2885736/3376891625" + }, + "13": { + "exp_lower": "250048715180994423722847155302605928823/250000000000000000000000000000000000000", + "exp_upper": "5000974303619888474456943106052118833603/5000000000000000000000000000000000000000", + "log_lower": "3789420683335813703954784056697/1000000000000000000000000000000", + "log_upper": "1894710341667906851977392028349/500000000000000000000000000000", + "weight": "2566343/3376891625" + }, + "14": { + "exp_lower": "10001910495576616867647870788206156289007/10000000000000000000000000000000000000000", + "exp_upper": "1250238811947077108455983848525769600411/1250000000000000000000000000000000000000", + "log_lower": "3715312711182091825485686633361/1000000000000000000000000000000", + "log_upper": "1857656355591045912742843316681/500000000000000000000000000000", + "weight": "2017778/3376891625" + }, + "15": { + "exp_lower": "5000937507298799262977531218477536343733/5000000000000000000000000000000000000000", + "exp_upper": "625117188412349907872191402309692075109/625000000000000000000000000000000000000", + "log_lower": "3646319839695140374012266928113/1000000000000000000000000000000", + "log_upper": "1823159919847570187006133464057/500000000000000000000000000000", + "weight": "345738/675378325" + }, + "16": { + "exp_lower": "10001841824472241665399768197052194639411/10000000000000000000000000000000000000000", + "exp_upper": "10001841824472241665399768197052195153687/10000000000000000000000000000000000000000", + "log_lower": "3581781318557569202339343012429/1000000000000000000000000000000", + "log_upper": "358178131855756920233934301243/100000000000000000000000000000", + "weight": "1072944/3376891625" + }, + "17": { + "exp_lower": "2000362129448430252012945516154011194071/2000000000000000000000000000000000000000", + "exp_upper": "2500452661810537815016181895192514121157/2500000000000000000000000000000000000000", + "log_lower": "3521156696741134359758736880389/1000000000000000000000000000000", + "log_upper": "352115669674113435975873688039/100000000000000000000000000000", + "weight": "1377986/675378325" + }, + "18": { + "exp_lower": "2000356250531348677044626743436098790769/2000000000000000000000000000000000000000", + "exp_upper": "2500445313164185846305783429295123617029/2500000000000000000000000000000000000000", + "log_lower": "3463998282901185747800548902959/1000000000000000000000000000000", + "log_upper": "43299978536264821847506861287/12500000000000000000000000000", + "weight": "447606/3376891625" + }, + "19": { + "exp_lower": "10001753447843730922769540497100952395327/10000000000000000000000000000000000000000", + "exp_upper": "2500438361960932730692385124275238227399/2500000000000000000000000000000000000000", + "log_lower": "1704965530815454989999622033187/500000000000000000000000000000", + "log_upper": "27279448493047279839993952531/8000000000000000000000000000", + "weight": "255569/3376891625" + }, + "2": { + "exp_lower": "5001455635525837099027147878050810091981/5000000000000000000000000000000000000000", + "exp_upper": "10002911271051674198054295756101620698699/10000000000000000000000000000000000000000", + "log_lower": "1415305715059351282647759844201/250000000000000000000000000000", + "log_upper": "1132244572047481026118207875361/200000000000000000000000000000", + "weight": "8542426/3376891625" + }, + "20": { + "exp_lower": "10001727069632263391270081525057406972681/10000000000000000000000000000000000000000", + "exp_upper": "10001727069632263391270081525057407486947/10000000000000000000000000000000000000000", + "log_lower": "83965944181083986164326198053/25000000000000000000000000000", + "log_upper": "3358637767243359446573047922121/1000000000000000000000000000000", + "weight": "14476/675378325" + }, + "21": { + "exp_lower": "10001701978751049559741097025770056308617/10000000000000000000000000000000000000000", + "exp_upper": "10001701978751049559741097025770056822881/10000000000000000000000000000000000000000", + "log_lower": "413730950384240930438459189737/125000000000000000000000000000", + "log_upper": "3309847603073927443507673517897/1000000000000000000000000000000", + "weight": "14945721/3376891625" + }, + "23": { + "exp_lower": "10001655195676669869696546755559759526491/10000000000000000000000000000000000000000", + "exp_upper": "625103449729791866856034172222485002547/625000000000000000000000000000000000000", + "log_lower": "804718956217050187300379666613/250000000000000000000000000000", + "log_upper": "3218875824868200749201518666453/1000000000000000000000000000000", + "weight": "24813/1174571" + }, + "25": { + "exp_lower": "10001612316108909947800937936092361032443/10000000000000000000000000000000000000000", + "exp_upper": "5000806158054454973900468968046180773351/5000000000000000000000000000000000000000", + "log_lower": "313549421592914969080675283181/100000000000000000000000000000", + "log_upper": "3135494215929149690806752831811/1000000000000000000000000000000", + "weight": "554631/27015133" + }, + "3": { + "exp_lower": "2000540546672448081230698924320354215411/2000000000000000000000000000000000000000", + "exp_upper": "500135136668112020307674731080088579579/500000000000000000000000000000000000000", + "log_lower": "262787887606462037430651313067/50000000000000000000000000000", + "log_upper": "5255757752129240748613026261341/1000000000000000000000000000000", + "weight": "4824477/3376891625" + }, + "4": { + "exp_lower": "10002554776153518530136570780570940852327/10000000000000000000000000000000000000000", + "exp_upper": "250063869403837963253414269514273534169/250000000000000000000000000000000000000", + "log_lower": "2484037839838729910586903627673/500000000000000000000000000000", + "log_upper": "4968075679677459821173807255347/1000000000000000000000000000000", + "weight": "200812/146821375" + }, + "481": { + "exp_lower": "1000009178170793115863449932118267045899/1000000000000000000000000000000000000000", + "exp_upper": "10000091781707931158634499321182670973169/10000000000000000000000000000000000000000", + "log_lower": "35700554138317851917337677133/200000000000000000000000000000", + "log_upper": "89251385345794629793344192833/500000000000000000000000000000", + "weight": "296296/5872855" + }, + "5": { + "exp_lower": "1000244001313358125115777929404069675659/1000000000000000000000000000000000000000", + "exp_upper": "5001220006566790625578889647020348635487/5000000000000000000000000000000000000000", + "log_lower": "1186233032090812516351878041259/250000000000000000000000000000", + "log_upper": "4744932128363250065407512165037/1000000000000000000000000000000", + "weight": "852498/675378325" + }, + "525": { + "exp_lower": "2500011693833036733901012916854838034773/2500000000000000000000000000000000000000", + "exp_upper": "10000046775332146935604051667419352653269/10000000000000000000000000000000000000000", + "log_lower": "22742944551431673576538712861/250000000000000000000000000000", + "log_upper": "18194355641145338861230970289/200000000000000000000000000000", + "weight": "11647251/27015133" + }, + "529": { + "exp_lower": "10000042872655332639439754288243415079783/10000000000000000000000000000000000000000", + "exp_upper": "250001071816383315985993857206085389849/250000000000000000000000000000000000000", + "log_lower": "41690804469525529197382917321/500000000000000000000000000000", + "log_upper": "83381608939051058394765834643/1000000000000000000000000000000", + "weight": "505172/1174571" + }, + "6": { + "exp_lower": "10002346245896183288531298062561787000253/10000000000000000000000000000000000000000", + "exp_upper": "10002346245896183288531298062561787514607/10000000000000000000000000000000000000000", + "log_lower": "4562610571569295439195794139881/1000000000000000000000000000000", + "log_upper": "2281305285784647719597897069941/500000000000000000000000000000", + "weight": "4623474/3376891625" + }, + "7": { + "exp_lower": "2500566741878091263012227018387188047879/2500000000000000000000000000000000000000", + "exp_upper": "200045339350247301040978161470975054117/200000000000000000000000000000000000000", + "log_lower": "4408459891742037134902918754819/1000000000000000000000000000000", + "log_upper": "220422994587101856745145937741/50000000000000000000000000000", + "weight": "39046/29364275" + }, + "8": { + "exp_lower": "1000219829396052528616368495818770588647/1000000000000000000000000000000000000000", + "exp_upper": "10002198293960525286163684958187706400789/10000000000000000000000000000000000000000", + "log_lower": "66795757798711164246196486467/15625000000000000000000000000", + "log_upper": "4274928499117514511756575133889/1000000000000000000000000000000", + "weight": "4435944/3376891625" + }, + "9": { + "exp_lower": "1250267214998278026507565978807412603539/1250000000000000000000000000000000000000", + "exp_upper": "10002137719986224212060527830459301342621/10000000000000000000000000000000000000000", + "log_lower": "4157145463461131057217781024417/1000000000000000000000000000000", + "log_upper": "2078572731730565528608890512209/500000000000000000000000000000", + "weight": "4009671/3376891625" + } + }, + "upper": "4221114531250000001252761925573018854569429712673/4221114531250000000000000000000000000000000000000" + }, + "m": 575, + "maxchild": 529, + "moment": { + "degree": 8, + "lower": "33768916249999999994403223852264730755493459036779/33768916250000000000000000000000000000000000000000", + "rounding_denominator": 10000000000000000000000000000000000000000, + "saving": "12854322426487/250000000000000000", + "strict_gap": "2798388073867633754049266311989/16884458125000000000000000000000000000000000000000", + "terms": { + "1": { + "exp_lower": "10003267778655445043226257220003797512123/10000000000000000000000000000000000000000", + "exp_upper": "5001633889327722521613128610001899013817/5000000000000000000000000000000000000000", + "log_lower": "3177185020398675220004135749131/500000000000000000000000000000", + "log_upper": "6354370040797350440008271498263/1000000000000000000000000000000", + "weight": "77725846/3376891625" + }, + "10": { + "exp_lower": "10002083535030640352005388476322410292353/10000000000000000000000000000000000000000", + "exp_upper": "5001041767515320176002694238161205403327/5000000000000000000000000000000000000000", + "log_lower": "2025892473901652377995140021789/500000000000000000000000000000", + "log_upper": "4051784947803304755990280043579/1000000000000000000000000000000", + "weight": "146692/135075665" + }, + "11": { + "exp_lower": "10002034519028921608202652008145862723993/10000000000000000000000000000000000000000", + "exp_upper": "625127157439307600512665750509116452393/625000000000000000000000000000000000000", + "log_lower": "3956474767998979895946327920297/1000000000000000000000000000000", + "log_upper": "1978237383999489947973163960149/500000000000000000000000000000", + "weight": "3415709/3376891625" + }, + "12": { + "exp_lower": "5000994885567511841370929683311622729687/5000000000000000000000000000000000000000", + "exp_upper": "10001989771135023682741859366623245973663/10000000000000000000000000000000000000000", + "log_lower": "3869463391009350129778562018423/1000000000000000000000000000000", + "log_upper": "483682923876168766222320252303/125000000000000000000000000000", + "weight": "2885736/3376891625" + }, + "13": { + "exp_lower": "10001948607239776911012295286167991505649/10000000000000000000000000000000000000000", + "exp_upper": "2000389721447955382202459057233598403987/2000000000000000000000000000000000000000", + "log_lower": "3789420683335813703954784056697/1000000000000000000000000000000", + "log_upper": "1894710341667906851977392028349/500000000000000000000000000000", + "weight": "2566343/3376891625" + }, + "14": { + "exp_lower": "2000382099115323366097529117576955258961/2000000000000000000000000000000000000000", + "exp_upper": "5000955247788308415243822793942388404543/5000000000000000000000000000000000000000", + "log_lower": "3715312711182091825485686633361/1000000000000000000000000000000", + "log_upper": "1857656355591045912742843316681/500000000000000000000000000000", + "weight": "2017778/3376891625" + }, + "15": { + "exp_lower": "5000937507298799244742513568538363754269/5000000000000000000000000000000000000000", + "exp_upper": "312558594206174952796407098033647750713/312500000000000000000000000000000000000", + "log_lower": "3646319839695140374012266928113/1000000000000000000000000000000", + "log_upper": "1823159919847570187006133464057/500000000000000000000000000000", + "weight": "345738/675378325" + }, + "16": { + "exp_lower": "312557557014757550924229937468430166527/312500000000000000000000000000000000000", + "exp_upper": "10001841824472241629575357998989765843139/10000000000000000000000000000000000000000", + "log_lower": "3581781318557569202339343012429/1000000000000000000000000000000", + "log_upper": "358178131855756920233934301243/100000000000000000000000000000", + "weight": "1072944/3376891625" + }, + "17": { + "exp_lower": "5000905323621075612423392520348287829533/5000000000000000000000000000000000000000", + "exp_upper": "5000905323621075612423392520348288086669/5000000000000000000000000000000000000000", + "log_lower": "3521156696741134359758736880389/1000000000000000000000000000000", + "log_upper": "352115669674113435975873688039/100000000000000000000000000000", + "weight": "1377986/675378325" + }, + "18": { + "exp_lower": "2500445313164185837644245158006066068553/2500000000000000000000000000000000000000", + "exp_upper": "5000890626328371675288490316012132394241/5000000000000000000000000000000000000000", + "log_lower": "3463998282901185747800548902959/1000000000000000000000000000000", + "log_upper": "43299978536264821847506861287/12500000000000000000000000000", + "weight": "447606/3376891625" + }, + "19": { + "exp_lower": "10001753447843730888664250744524564838061/10000000000000000000000000000000000000000", + "exp_upper": "1000175344784373088866425074452456535233/1000000000000000000000000000000000000000", + "log_lower": "1704965530815454989999622033187/500000000000000000000000000000", + "log_upper": "27279448493047279839993952531/8000000000000000000000000000", + "weight": "255569/3376891625" + }, + "2": { + "exp_lower": "2500727817762918535356396449874370919091/2500000000000000000000000000000000000000", + "exp_upper": "10002911271051674141425585799497484191101/10000000000000000000000000000000000000000", + "log_lower": "1415305715059351282647759844201/250000000000000000000000000000", + "log_upper": "1132244572047481026118207875361/200000000000000000000000000000", + "weight": "8542426/3376891625" + }, + "20": { + "exp_lower": "10001727069632263357677903251330233637041/10000000000000000000000000000000000000000", + "exp_upper": "2500431767408065839419475812832558537827/2500000000000000000000000000000000000000", + "log_lower": "83965944181083986164326198053/25000000000000000000000000000", + "log_upper": "3358637767243359446573047922121/1000000000000000000000000000000", + "weight": "14476/675378325" + }, + "21": { + "exp_lower": "10001701978751049526636987704741137786343/10000000000000000000000000000000000000000", + "exp_upper": "156276593417985148853702932886580285947/156250000000000000000000000000000000000", + "log_lower": "413730950384240930438459189737/125000000000000000000000000000", + "log_upper": "3309847603073927443507673517897/1000000000000000000000000000000", + "weight": "14945721/3376891625" + }, + "23": { + "exp_lower": "1250206899459583729687807579691086634971/1250000000000000000000000000000000000000", + "exp_upper": "10001655195676669837502460637528693594029/10000000000000000000000000000000000000000", + "log_lower": "804718956217050187300379666613/250000000000000000000000000000", + "log_upper": "3218875824868200749201518666453/1000000000000000000000000000000", + "weight": "24813/1174571" + }, + "25": { + "exp_lower": "250040307902722747911023509224178190981/250000000000000000000000000000000000000", + "exp_upper": "10001612316108909916440940368967128153499/10000000000000000000000000000000000000000", + "log_lower": "313549421592914969080675283181/100000000000000000000000000000", + "log_upper": "3135494215929149690806752831811/1000000000000000000000000000000", + "weight": "554631/27015133" + }, + "3": { + "exp_lower": "2000540546672448070716342437697766077413/2000000000000000000000000000000000000000", + "exp_upper": "1000270273336224035358171218848883090159/1000000000000000000000000000000000000000", + "log_lower": "262787887606462037430651313067/50000000000000000000000000000", + "log_upper": "5255757752129240748613026261341/1000000000000000000000000000000", + "weight": "4824477/3376891625" + }, + "4": { + "exp_lower": "5001277388076759240221560831260513712993/5000000000000000000000000000000000000000", + "exp_upper": "10002554776153518480443121662521027940419/10000000000000000000000000000000000000000", + "log_lower": "2484037839838729910586903627673/500000000000000000000000000000", + "log_upper": "4968075679677459821173807255347/1000000000000000000000000000000", + "weight": "200812/146821375" + }, + "481": { + "exp_lower": "5000045890853965578424727615488806672627/5000000000000000000000000000000000000000", + "exp_upper": "1250011472713491394606181903872201732429/1250000000000000000000000000000000000000", + "log_lower": "35700554138317851917337677133/200000000000000000000000000000", + "log_upper": "89251385345794629793344192833/500000000000000000000000000000", + "weight": "296296/5872855" + }, + "5": { + "exp_lower": "10002440013133581203696880313697038245867/10000000000000000000000000000000000000000", + "exp_upper": "10002440013133581203696880313697038760251/10000000000000000000000000000000000000000", + "log_lower": "1186233032090812516351878041259/250000000000000000000000000000", + "log_upper": "4744932128363250065407512165037/1000000000000000000000000000000", + "weight": "852498/675378325" + }, + "525": { + "exp_lower": "1250005846916518366836791203765867953231/1250000000000000000000000000000000000000", + "exp_upper": "400001871013285877387773185205077765601/400000000000000000000000000000000000000", + "log_lower": "22742944551431673576538712861/250000000000000000000000000000", + "log_upper": "18194355641145338861230970289/200000000000000000000000000000", + "weight": "11647251/27015133" + }, + "529": { + "exp_lower": "10000042872655332638605934624061923371007/10000000000000000000000000000000000000000", + "exp_upper": "10000042872655332638605934624061923885183/10000000000000000000000000000000000000000", + "log_lower": "41690804469525529197382917321/500000000000000000000000000000", + "log_upper": "83381608939051058394765834643/1000000000000000000000000000000", + "weight": "505172/1174571" + }, + "6": { + "exp_lower": "312573320184255726340452729391856430141/312500000000000000000000000000000000000", + "exp_upper": "5001173122948091621447243670269703139433/5000000000000000000000000000000000000000", + "log_lower": "4562610571569295439195794139881/1000000000000000000000000000000", + "log_upper": "2281305285784647719597897069941/500000000000000000000000000000", + "weight": "4623474/3376891625" + }, + "7": { + "exp_lower": "1250283370939045625994289415096779673387/1250000000000000000000000000000000000000", + "exp_upper": "1000226696751236500795431532077423790143/1000000000000000000000000000000000000000", + "log_lower": "4408459891742037134902918754819/1000000000000000000000000000000", + "log_upper": "220422994587101856745145937741/50000000000000000000000000000", + "weight": "39046/29364275" + }, + "8": { + "exp_lower": "5001099146980262621702501208755636701013/5000000000000000000000000000000000000000", + "exp_upper": "5001099146980262621702501208755636958173/5000000000000000000000000000000000000000", + "log_lower": "66795757798711164246196486467/15625000000000000000000000000", + "log_upper": "4274928499117514511756575133889/1000000000000000000000000000000", + "weight": "4435944/3376891625" + }, + "9": { + "exp_lower": "1250267214998278021310023297863138520977/1250000000000000000000000000000000000000", + "exp_upper": "5001068859993112085240093191452554341063/5000000000000000000000000000000000000000", + "log_lower": "4157145463461131057217781024417/1000000000000000000000000000000", + "log_upper": "2078572731730565528608890512209/500000000000000000000000000000", + "weight": "4009671/3376891625" + } + }, + "upper": "16884458124999999997201611926132366245950733688011/16884458125000000000000000000000000000000000000000" + }, + "parts": { + "data": { + "1": 73319400, + "17": 8146600, + "21": 8146600, + "481": 8146600 + }, + "data_growth_23": { + "1": 8146600, + "21": 8146600 + }, + "data_growth_25": { + "1": 8146600, + "23": 8146600 + }, + "exterior_23": { + "23": 63146500, + "529": 63146500 + }, + "exterior_25": { + "25": 63782565, + "525": 63782565 + }, + "internal_23": { + "1": 821440400, + "10": 4025000, + "11": 3516700, + "12": 2318400, + "13": 1984900, + "14": 1276500, + "15": 1060300, + "16": 538200, + "17": 342700, + "18": 92000, + "19": 20700, + "2": 48881900, + "21": 52900, + "3": 18450600, + "4": 12571800, + "5": 9558800, + "6": 8820500, + "7": 7475000, + "8": 6007600, + "9": 4850700 + }, + "internal_25": { + "1": 872568158, + "10": 4409790, + "11": 3625237, + "12": 3212594, + "13": 2555553, + "14": 2038421, + "15": 1590358, + "16": 1004157, + "17": 832370, + "18": 479941, + "19": 288673, + "2": 49355999, + "20": 83237, + "21": 23023, + "23": 44275, + "3": 18537057, + "4": 13985587, + "5": 10048654, + "6": 8902817, + "7": 7278810, + "8": 6745739, + "9": 5396237 + }, + "paid_endpoint_copy": { + "1": 4073300 + } + }, + "total_rank": 77666660475, + "words": [ + { + "R": 27455, + "copied_centers": 23, + "distinct_transitions": 152272, + "frames": 59803, + "h": 23, + "rank_histogram_with_side_growth_split_into_singletons": { + "1": 69190, + "10": 539, + "11": 98, + "12": 671, + "13": 254, + "14": 1927, + "15": 439, + "16": 440, + "17": 487, + "18": 3417, + "19": 6882, + "2": 73632, + "21": 171, + "22": 23, + "3": 10224, + "4": 15382, + "5": 6461, + "6": 1593, + "7": 694, + "8": 1229, + "9": 411 + }, + "rank_mass": 631971, + "singles": 15939, + "transition_events_equal_independent_xor_word_reconstruction": true, + "v": 1771, + "word_sha256": "b0379d99fd6c10307da0d0fc526ed6171f19105a47bae61730fc3745ef60bd9e" + }, + { + "R": 36015, + "copied_centers": 25, + "distinct_transitions": 212584, + "frames": 84845, + "h": 25, + "rank_histogram_with_side_growth_split_into_singletons": { + "1": 91026, + "10": 791, + "11": 38, + "12": 758, + "13": 149, + "14": 681, + "15": 167, + "16": 2265, + "17": 680, + "18": 566, + "19": 828, + "2": 108047, + "20": 4481, + "21": 8893, + "23": 280, + "24": 25, + "3": 13560, + "4": 19874, + "5": 8387, + "6": 2967, + "7": 1127, + "8": 1443, + "9": 664 + }, + "rank_mass": 900975, + "singles": 20700, + "transition_events_equal_independent_xor_word_reconstruction": true, + "v": 2300, + "word_sha256": "4c956749f0ec72c61875c51099afdf23e69ccea268a9b43b8d46da2ffdb24903" + } + ] + }, + "bit_saving": "12854322426487/250000000000000000", + "bit_saving_excluded_above": "51417289705949/1000000000000000000", + "coarse_grid_control": { + "assembly": { + "absorption_gap": "1111010233862361277161/173620037722222204369000000000000", + "constraints": { + "K_dominates_log": "8926611154487109055512170631/173620037722222204369000000000000", + "K_geometry": "130217259944487829369/173620037722222204369000000000000", + "a_below_b": "126767/6250000000", + "a_positive": "160679/3125000000", + "alpha_below_one": "347222222222048620037722222204369/347240075444444408738000000000000", + "alpha_below_one_fourth": "86792165638715313484222222204369/347240075444444408738000000000000", + "alpha_positive": "17853222395788700277777795631/347240075444444408738000000000000", + "artificial_boundary": "9722793525335241939729166666613107/1388960301777777634952000000000000", + "b_below_one_over32": "311783/10000000", + "beta_below_one": "19/20", + "beta_positive": "1/20", + "c_below_one": "1562419660499609535679/1562500000000000000000", + "c_positive": "80339500390464321/1562500000000000000000", + "cell_above_band": "347222222221701379962277777795631/694480150888888817476000000000000", + "compact_leaf": "26090187500160679/1562500000000000000000", + "compact_reservations": "1/4000000000000", + "delta_below_one_eighth": "999999999999/8000000000000", + "delta_positive": "1/8000000000000", + "epsilon_below_one": "8926611284704369/173620037722222204369", + "epsilon_positive": "173611111110937500000/173620037722222204369", + "g1_above_kappa": "128463027158458348153/17362003772222220436900000000000", + "g2_above_kappa": "53/20000000000", + "g3_above_kappa": "1111010233862361277161/173620037722222204369000000000000", + "g4_above_kappa": "53/20000000000", + "g5_above_kappa": "1881788396813111366079/277792060355555526990400000000000", + "g6_above_kappa": "10103422134954445647871/1388960301777777634952000000000000", + "g7_above_kappa": "17360218450093742590258458348153/17362003772222220436900000000000", + "gamma_sublinear": "1/2000000000000", + "guard_width": "8926611284704369/173620037722222204369", + "lambda_above_internal": "160679/3125000000000000000000", + "lambda_above_sigma": "63383500000160679/3125000000000000000000", + "lambda_above_tau": "160679/3125000000000000000000", + "lambda_prime_above_lambda": "160679/3125000000000000000000", + "lambda_prime_below_one": "80339499999839321/1562500000000000000000", + "literal_scalar_guard": "9693793493753822316795466474748", + "phase_boundary": "14282577881906952677777795631/277792060355555526990400000000000", + "phase_leaf_above_bit": "417443/25000000000", + "phase_local": "71412890104014914277777795631/1388960301777777634952000000000000", + "prime_interval_packing": "8926611284704369/173620037722222204369", + "q_below_internal": "160679/1562500000000000000000", + "q_below_leaf": "26090187500160679/1562500000000000000000", + "q_below_reservations": "1/4000000000000", + "q_positive": "80339499999839321/1562500000000000000000", + "record_suffix": "8926611284704369/173620037722222204369", + "row_product_gap": "6548/25", + "short_record_fallback": "542506825127638518558424193449/542562617881944388653125000000", + "small_field_exposure": "1/1000000000000" + }, + "finite_bridge": { + "bit": { + "W": 135075665, + "halving_degree": 9, + "m": 575, + "maxchild": 529, + "wire_bits": 28 + }, + "complex": { + "W": 537696432, + "halving_degree": 20, + "m": 784, + "maxchild": 756, + "s": 421548223824, + "scalar_group_upper": 4793351472, + "wire_bits": 30 + }, + "rows": { + "coefficient": 852, + "degree": 2000, + "degree_gap": "6548/25", + "suffix_slope": 8000 + }, + "semantic": { + "B": 9696565176891520488614054257040, + "C0": 2358858462850846165593256368932965330169899180021667007021321420800, + "C1": 1, + "E": 9696565176891520488192506033216, + "induction_gap": 533311084729033626873772984137200, + "literal_charge": 2771683137698171397039558468, + "strict_literal_gap": 9693793493753822316795466474748 + } + }, + "margins": { + "g1": "8926611284704369/173620037722222204369", + "g2": "160679/3125000000", + "g3": "8926611111084331277777795631/173620037722222204369000000000000", + "g4": "160679/3125000000", + "g5": "14282577881906952677777795631/277792060355555526990400000000000", + "g6": "71412890104014914277777795631/1388960301777777634952000000000000", + "g7": "173611111110937500000/173620037722222204369" + }, + "minimum_margin": "8926611111084331277777795631/173620037722222204369000000000000", + "parameters": { + "C0": 2358858462850846165593256368932965330169899180021667007021321420800, + "C1": "1", + "a_bit": "160679/3125000000", + "a_complex": "717/10000000", + "alpha_squared_power": "17853222395788700277777795631/347240075444444408738000000000000", + "beta": "1/20", + "c": "80339500390464321/1562500000000000000000", + "delta": "1/8000000000000", + "epsilon": "173611111110937500000/173620037722222204369", + "h": "1/1000000000000", + "kappa": "5141463/100000000000", + "lambda_": "3124839321000000160679/3125000000000000000000", + "lambda_prime": "1562419660500000160679/1562500000000000000000", + "q": "80339499999839321/1562500000000000000000", + "sigma": "9999283/10000000", + "tau": "3124839321/3125000000" + }, + "recurrence": { + "internal": "3124839321/3125000000", + "leaf": "199986377/200000000", + "reservations": "1562419660499609535679/1562500000000000000000" + }, + "scoped_limit": "160679/3125160679" + }, + "bit_saving": "160679/3125000000", + "eventual_bounds": { + "additional_eventual_conditions": [ + "BHP prime threshold and distinct-prime packing", + "Fixed rational basis, eligible common prime and native table setup", + "Catalogue/descriptor domination, logarithm absorption, exact recovery" + ], + "all_interval_argument": "For [Z,Z+k), bound RHS at Z+k and LHS at floor(Z/k). Successive intervals double LHS; the positive affine RHS grows at most linearly, so 2^j >= j+1 proves persistence.", + "common_cutoff": 14000000000000, + "cutoff_log2_input": { + "alpha": 6052840001, + "compact": 24211360001, + "geometry": 3999931448325, + "guard": 4317837, + "log_p": 25, + "normalization": 14000000000000, + "period": 48422720001, + "phase_cell": 19, + "reservoir": 14, + "stopped_leaf": 252 + }, + "power_checkpoints": [ + { + "log2_input": 14000000000000, + "powers": { + "alpha": { + "exponent": 719794344, + "rhs": 112000000155664, + "rhs_bits": 47 + }, + "compact": { + "exponent": 719794344, + "rhs": 448000000622592, + "rhs_bits": 49 + }, + "leaf": { + "exponent": 666666666666, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 719794344, + "rhs": 224000000311256, + "rhs_bits": 48 + }, + "rows": { + "exponent": 719794344, + "rhs": 112000000155664000, + "rhs_bits": 57 + } + } + }, + { + "log2_input": 28000000000000, + "powers": { + "alpha": { + "exponent": 1439588688, + "rhs": 224000000155664, + "rhs_bits": 48 + }, + "compact": { + "exponent": 1439588688, + "rhs": 896000000622592, + "rhs_bits": 50 + }, + "leaf": { + "exponent": 1333333333333, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 1439588688, + "rhs": 448000000311256, + "rhs_bits": 49 + }, + "rows": { + "exponent": 1439588688, + "rhs": 224000000155664000, + "rhs_bits": 58 + } + } + }, + { + "log2_input": 56000000000000, + "powers": { + "alpha": { + "exponent": 2879177377, + "rhs": 448000000155664, + "rhs_bits": 49 + }, + "compact": { + "exponent": 2879177377, + "rhs": 1792000000622592, + "rhs_bits": 51 + }, + "leaf": { + "exponent": 2666666666666, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 2879177377, + "rhs": 896000000311256, + "rhs_bits": 50 + }, + "rows": { + "exponent": 2879177377, + "rhs": 448000000155664000, + "rhs_bits": 59 + } + } + }, + { + "log2_input": 112000000000000, + "powers": { + "alpha": { + "exponent": 5758354755, + "rhs": 896000000155664, + "rhs_bits": 50 + }, + "compact": { + "exponent": 5758354755, + "rhs": 3584000000622592, + "rhs_bits": 52 + }, + "leaf": { + "exponent": 5333333333333, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 5758354755, + "rhs": 1792000000311256, + "rhs_bits": 51 + }, + "rows": { + "exponent": 5758354755, + "rhs": 896000000155664000, + "rhs_bits": 60 + } + } + }, + { + "log2_input": 224000000000000, + "powers": { + "alpha": { + "exponent": 11516709511, + "rhs": 1792000000155664, + "rhs_bits": 51 + }, + "compact": { + "exponent": 11516709511, + "rhs": 7168000000622592, + "rhs_bits": 53 + }, + "leaf": { + "exponent": 10666666666666, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 11516709511, + "rhs": 3584000000311256, + "rhs_bits": 52 + }, + "rows": { + "exponent": 11516709511, + "rhs": 1792000000155664000, + "rhs_bits": 61 + } + } + }, + { + "log2_input": 448000000000000, + "powers": { + "alpha": { + "exponent": 23033419023, + "rhs": 3584000000155664, + "rhs_bits": 52 + }, + "compact": { + "exponent": 23033419023, + "rhs": 14336000000622592, + "rhs_bits": 54 + }, + "leaf": { + "exponent": 21333333333333, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 23033419023, + "rhs": 7168000000311256, + "rhs_bits": 53 + }, + "rows": { + "exponent": 23033419023, + "rhs": 3584000000155664000, + "rhs_bits": 62 + } + } + } + ], + "practical_runtime_claim": false + }, + "kappa": "5141463/100000000000", + "next_kappa": "642683/12500000000", + "next_kappa_rejection": "{'g1_above_kappa': '-5644626320470482027/2170250471527777554612500000000', 'g3_above_kappa': '-625190143359860766529/173620037722222204369000000000000', 'g5_above_kappa': '-35845288269697756153/11111682414222221079616000000000', 'g6_above_kappa': '-3786180882823330701649/1388960301777777634952000000000000'}" + }, + "comparison": { + "absolute_gain_pr67": "23805344989/62500000000000000", + "full_pr67_child_list_excluded_at_new_bit_saving": true, + "pr67_commit": "b3745601e947a94316bf25c2c6263d93c06e3364", + "pr67_complete_profile_exclusion_lower": "34287957494011363648350450392318916509349095499539/34287951500000000000000000000000000000000000000000", + "pr67_kappa": "10206752116843/200000000000000000", + "ratio_pr67": "51414646104039/51033760584215" + }, + "dependencies": { + "data_profile": "Unchanged inherited all-pairs data profile: 9 singletons +21+17+481; ten exact rational recoveries", + "geometry": "Unchanged fixed-I+J original-envelope projector and CRT formulas", + "producer": "PR62/63 interval pair assembly, selected split-pair partition and point permutation, PR65 schedules, PR67 profile-cost reclamation, PR68 pending live controls and selected next-use scoring; complete literal words", + "proof_scope": "Ordered affine residual compiler, all-size recursion, finite scalar overhead, routing, prime selection, exact recovery and fixed-tape/analytic transfer remain inherited. Arithmetic cutoffs are not full operational thresholds." + }, + "eventual_bounds": { + "additional_eventual_conditions": [ + "BHP prime threshold and distinct-prime packing", + "Fixed rational basis, eligible common prime and native table setup", + "Catalogue/descriptor domination, logarithm absorption, exact recovery" + ], + "all_interval_argument": "For [Z,Z+k), bound RHS at Z+k and LHS at floor(Z/k). Successive intervals double LHS; the positive affine RHS grows at most linearly, so 2^j >= j+1 proves persistence.", + "common_cutoff": 14000000000000, + "cutoff_log2_input": { + "alpha": 6052840001, + "compact": 24211360001, + "geometry": 3999931448313, + "guard": 4317836, + "log_p": 25, + "normalization": 14000000000000, + "period": 48422720001, + "phase_cell": 19, + "reservoir": 14, + "stopped_leaf": 252 + }, + "power_checkpoints": [ + { + "log2_input": 14000000000000, + "powers": { + "alpha": { + "exponent": 719794344, + "rhs": 112000000155664, + "rhs_bits": 47 + }, + "compact": { + "exponent": 719794344, + "rhs": 448000000622592, + "rhs_bits": 49 + }, + "leaf": { + "exponent": 666666666666, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 719794344, + "rhs": 224000000311256, + "rhs_bits": 48 + }, + "rows": { + "exponent": 719794344, + "rhs": 112000000155664000, + "rhs_bits": 57 + } + } + }, + { + "log2_input": 28000000000000, + "powers": { + "alpha": { + "exponent": 1439588688, + "rhs": 224000000155664, + "rhs_bits": 48 + }, + "compact": { + "exponent": 1439588688, + "rhs": 896000000622592, + "rhs_bits": 50 + }, + "leaf": { + "exponent": 1333333333333, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 1439588688, + "rhs": 448000000311256, + "rhs_bits": 49 + }, + "rows": { + "exponent": 1439588688, + "rhs": 224000000155664000, + "rhs_bits": 58 + } + } + }, + { + "log2_input": 56000000000000, + "powers": { + "alpha": { + "exponent": 2879177377, + "rhs": 448000000155664, + "rhs_bits": 49 + }, + "compact": { + "exponent": 2879177377, + "rhs": 1792000000622592, + "rhs_bits": 51 + }, + "leaf": { + "exponent": 2666666666666, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 2879177377, + "rhs": 896000000311256, + "rhs_bits": 50 + }, + "rows": { + "exponent": 2879177377, + "rhs": 448000000155664000, + "rhs_bits": 59 + } + } + }, + { + "log2_input": 112000000000000, + "powers": { + "alpha": { + "exponent": 5758354755, + "rhs": 896000000155664, + "rhs_bits": 50 + }, + "compact": { + "exponent": 5758354755, + "rhs": 3584000000622592, + "rhs_bits": 52 + }, + "leaf": { + "exponent": 5333333333333, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 5758354755, + "rhs": 1792000000311256, + "rhs_bits": 51 + }, + "rows": { + "exponent": 5758354755, + "rhs": 896000000155664000, + "rhs_bits": 60 + } + } + }, + { + "log2_input": 224000000000000, + "powers": { + "alpha": { + "exponent": 11516709511, + "rhs": 1792000000155664, + "rhs_bits": 51 + }, + "compact": { + "exponent": 11516709511, + "rhs": 7168000000622592, + "rhs_bits": 53 + }, + "leaf": { + "exponent": 10666666666666, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 11516709511, + "rhs": 3584000000311256, + "rhs_bits": 52 + }, + "rows": { + "exponent": 11516709511, + "rhs": 1792000000155664000, + "rhs_bits": 61 + } + } + }, + { + "log2_input": 448000000000000, + "powers": { + "alpha": { + "exponent": 23033419023, + "rhs": 3584000000155664, + "rhs_bits": 52 + }, + "compact": { + "exponent": 23033419023, + "rhs": 14336000000622592, + "rhs_bits": 54 + }, + "leaf": { + "exponent": 21333333333333, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 23033419023, + "rhs": 7168000000311256, + "rhs_bits": 53 + }, + "rows": { + "exponent": 23033419023, + "rhs": 3584000000155664000, + "rhs_bits": 62 + } + } + } + ], + "practical_runtime_claim": false + }, + "exactness": [ + { + "common_denominator_bound": 34848, + "correction_numerator_bound": 274032, + "h": 23, + "minor_bounds": { + "2": 38218181861376, + "3": 219993996697351151616, + "4": 1206074983422622280129445888 + }, + "modulus_gaps": { + "2": 2305804791031832575, + "3": 2596143476298113163849933497114623, + "4": 2596142270223349735224350718820351 + }, + "prime_product": 2596143476298333157846630848266239, + "primes": [ + 2305843009213693951, + 2147483647, + 524287 + ], + "single_numerator_bound": 6228 + }, + { + "common_denominator_bound": 44928, + "correction_numerator_bound": 353568, + "h": 25, + "minor_bounds": { + "2": 75405344477184, + "3": 613343016893987684352, + "4": 4772090401825349199521120256 + }, + "modulus_gaps": { + "2": 2305767603869216767, + "3": 2596143476297719814829736860581887, + "4": 2596138704207931332497431327145983 + }, + "prime_product": 2596143476298333157846630848266239, + "primes": [ + 2305843009213693951, + 2147483647, + 524287 + ], + "single_numerator_bound": 7366 + } + ], + "finite_bridge": { + "bit": { + "W": 135075665, + "halving_degree": 9, + "m": 575, + "maxchild": 529, + "wire_bits": 28 + }, + "complex": { + "W": 537696432, + "halving_degree": 20, + "m": 784, + "maxchild": 756, + "s": 421548223824, + "scalar_group_upper": 4793351472, + "scalar_terms": [ + { + "c": 78437, + "copied_center_extra_groups": 56, + "h": 28, + "invocations": 3276, + "local_group_upper": 729892, + "v": 3276 + }, + { + "c": 78437, + "copied_center_extra_groups": 56, + "h": 28, + "invocations": 3276, + "local_group_upper": 729892, + "v": 3276 + } + ], + "wire_bits": 30 + }, + "rows": { + "coefficient": 852, + "contract": "W_complex^D_complex * W_bit^D_bit; one preceding prefix and padding; all temporary copies sequential", + "degree": 2000, + "degree_gap": "6548/25", + "suffix_slope": 8000 + }, + "semantic": { + "B": 9696565176891520488614054257040, + "C0": 2358858462850846165593256368932965330169899180021667007021321420800, + "C1": 1, + "E": 9696565176891520488192506033216, + "induction_gap": 533311084729033626873772984137200, + "literal_charge": 2771683137698171397039558468, + "strict_literal_gap": 9693793493753822316795466474748 + } + }, + "grid_denominator": 1000000000000000000, + "independent_enclosures": { + "accepted_lower": "6753783249999999998880644770452946278125051932003/6753783250000000000000000000000000000000000000000", + "accepted_upper": "6753783249999999998880644770452946278126402656533/6753783250000000000000000000000000000000000000000", + "rejected_lower": "33768916250000000010022095404584149735276384834051/33768916250000000000000000000000000000000000000000", + "rejected_upper": "33768916250000000010022095404584149735283138456701/33768916250000000000000000000000000000000000000000" + }, + "kappa": "51414646104039/1000000000000000000", + "next_kappa": "1285366152601/25000000000000000", + "next_kappa_rejection": "{'g3_above_kappa': '-10113375913662396772469161/94701838758494871701270889025000000000000000'}", + "source_manifest_sha256": "9d5a4a7c4cf459f4c5731809de93cfb4b873cb8c9ea95a1be9239733a9a93c72", + "sources": { + "inherited": { + "files": { + "research/copied-fixed/balanced_assembly.py": "4d27575dcad2b45a281a34054d311409ecd954f373c0c3a62c29bcc843f06a86", + "research/copied-fixed/certificate.json": "33b3373c04e18a7f4cee33ba68da6ed71934acc3e0179cca6197696be4befa22", + "research/copied-fixed/changed_graph.py": "375a7ca6cac6d153c1880fd5ea5b4525e5dca9d4ee3018d24d679c219b59c5b3", + "research/copied-fixed/profiles.cpp": "b9fbd71c746609948b60c441ba4601e88436956fe636d1810f270ce4ce6a63a6", + "research/copied-fixed/verify.py": "44932182ce6c4d39776650311262ef0ac1ea9b5da7220bc0f728e2789881f84a", + "scripts/exclusion_circuit.py": "b253f9d7318becda1c1f3b24e2287ed44a9c27fcea00cf9d531afb950d0457a0", + "scripts/partial_swap/binary_io.hpp": "7e143eb75bb342ac8f0c82a60005e7c35c9ec827de479bf6fb773151f3af5fa1", + "scripts/partial_swap/paired.py": "ddcecace3a8e04d690914cbd64873ab8dde8c0c3477a255767b0ed6f639bb0c7", + "scripts/partial_swap/shared.py": "81e9af92cdf38243a540cdcff2062778e449467848d444da37a9553c12ca4c34" + }, + "head": "b7194b8586844956904b33e9fe18f0c75606c11b", + "scope": "Unmodified producer inputs for experimental frame compiler; attribution retained in each file", + "source_pr": "https://github.com/CrocSwap/integer-mult-bounds/pull/48" + }, + "pr65": { + "author": "Rohan Arun with OpenAI assistance", + "commit": "49e84f939d15b618b50714eb039cabf97c74256a", + "files": { + "LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "NOTICE": "5931cb7d43e09380594b113018cac70258fb66e0673b91f706b01ea482c1be1a", + "references/frame-compiler/pr48/SOURCE.json": "6ccc673f88d3650d75ed600b082fe2fc2866dd88a172d182a38c1d0cd27d24b3", + "references/frame-compiler/pr48/research/copied-fixed/balanced_assembly.py": "4d27575dcad2b45a281a34054d311409ecd954f373c0c3a62c29bcc843f06a86", + "references/frame-compiler/pr48/research/copied-fixed/certificate.json": "33b3373c04e18a7f4cee33ba68da6ed71934acc3e0179cca6197696be4befa22", + "references/frame-compiler/pr48/research/copied-fixed/changed_graph.py": "375a7ca6cac6d153c1880fd5ea5b4525e5dca9d4ee3018d24d679c219b59c5b3", + "references/frame-compiler/pr48/research/copied-fixed/profiles.cpp": "b9fbd71c746609948b60c441ba4601e88436956fe636d1810f270ce4ce6a63a6", + "references/frame-compiler/pr48/research/copied-fixed/verify.py": "44932182ce6c4d39776650311262ef0ac1ea9b5da7220bc0f728e2789881f84a", + "references/frame-compiler/pr48/scripts/exclusion_circuit.py": "b253f9d7318becda1c1f3b24e2287ed44a9c27fcea00cf9d531afb950d0457a0", + "references/frame-compiler/pr48/scripts/partial_swap/binary_io.hpp": "7e143eb75bb342ac8f0c82a60005e7c35c9ec827de479bf6fb773151f3af5fa1", + "references/frame-compiler/pr48/scripts/partial_swap/paired.py": "ddcecace3a8e04d690914cbd64873ab8dde8c0c3477a255767b0ed6f639bb0c7", + "references/frame-compiler/pr48/scripts/partial_swap/shared.py": "81e9af92cdf38243a540cdcff2062778e449467848d444da37a9553c12ca4c34", + "research/pair-assembly/PROOF.md": "30685624bf922bb9d9f7ed4b0d367a660fe373cc9ee28fec33585bd8c7023e75", + "research/pair-assembly/SOURCE.json": "8f8c0fb7ca012ec5092136744eb52a0222697a8275d14aa8f667339c86baf9d0", + "research/pair-assembly/frame/frame-compiler.json": "86eeb10989a61e571938178b91dfe1b81ba39ec97cc93124c00cecd91dc6ef13", + "research/pair-assembly/frame/frame_verify.py": "fafe25d57166a747eeb847444a2e02dd7eed19038b93a2c495014d147d04a8fb", + "research/pair-assembly/pair_graph.py": "3d47e89d2649c90800a276bdd0480131def50e0bdf92c122a19494b55bf17420", + "research/reordered-rank-pair/README.md": "13fbcfe41a4cb22ea6f1d59c98305add85a86a4db4677ab3450fd34b139cf39c", + "research/reordered-rank-pair/arithmetic/README.md": "93a1e4eb52ff3b3f3b24464ce1e7b5498fac2da2789cab5deb76e7342fe36775", + "research/reordered-rank-pair/arithmetic/audit-receipt.json": "f481198b192790b65dde2f93a837fb5e2e7508322f25bbf26f73530febd1f659", + "research/reordered-rank-pair/arithmetic/audit.py": "aa297fffcdaa133f5dee17d97fac72aa5ba2cf943da5a8a5e3f4d62f6f0a7f79", + "research/reordered-rank-pair/arithmetic/certificate.json": "6474f4c638b5a16de5a7ed6054f3ad28404eac17eaa4570aab2ef378d6e7e1a3", + "research/reordered-rank-pair/arithmetic/refine.py": "e0488c919e76850313ff93d7da704a7fcc14a316eee2cac81e2b8dff9c145b5d", + "research/reordered-rank-pair/arithmetic/test_arithmetic.py": "d4824c8c1cc6c726daf9104c820aefe1e57ce6a8625871954a54a538b5af0524", + "research/reordered-rank-pair/current-comparison.json": "be8713b049b34b41d82ef3e03380f6b45d7b33bf8611af9942dea7597406dc07", + "research/reordered-rank-pair/frame-compiler.json": "48f86ffe2c2a16d3817ed3ab814cd1442442ec15f827d43a7383a0a953ff4337", + "research/reordered-rank-pair/frame-profiles-23.json": "fec377bcf1512a427674983256b900229d4133026445b6e680c6e1e6dde5af7d", + "research/reordered-rank-pair/frame-profiles-25.json": "28b4b911e26fbc02dde0d2e1458ed16227f756126ab8144d6d45e164d1165262", + "research/reordered-rank-pair/frame-transitions-23.json": "86646f1110595294cccc15603c552f0a153574a690b69c3b144d84a449891103", + "research/reordered-rank-pair/frame-transitions-25.json": "c333c348665d12b95e168ca4fac48bfdca335104edd0f29c81fe94bec292e774", + "research/reordered-rank-pair/frame-word-23.json.gz": "a44e038e1c548ea8ac31dd04acc2bba7951b22e17df7b7ad3464ea2b504a8da4", + "research/reordered-rank-pair/frame-word-25.json.gz": "ad8b299697f90b185b6b791313b505586be97965519052100d097df6199e00c5", + "research/reordered-rank-pair/paired-candidate.json": "34a500d739537235dfc5d24325c22856ca4567b9eac998a3bce9b13db5501940", + "research/reordered-rank-pair/test_negative.py": "88832242e6f74e3fe08d109d4f21ff188a9ca0ae50c3e8f31da0243fe9501510", + "research/reordered-rank-pair/verify.py": "e84ed21dad24f9b8c429441caae49c13ccae883be2f04e696993cfe665b57352", + "scripts/exclusion_circuit.py": "b253f9d7318becda1c1f3b24e2287ed44a9c27fcea00cf9d531afb950d0457a0", + "scripts/experiments/binary_frame_math.py": "1f96e8aafc8ae89f8eeec5d03800131d93d58e01bf8a7fca8feb03702d1740d0", + "scripts/experiments/binary_frame_profile_prepare.py": "8a50381cab00b33e62b3a057d199ba5e19647929135c95b0fd63fc8a8ef7c9b3", + "scripts/experiments/binary_frame_profiles.cpp": "8e2e391d3ee57cbb1372c68e4aa031e1b861321536eabd642ada54e12e678669", + "scripts/experiments/binary_frame_replay.py": "392e78e62d7685c99a5888a7da743ea6c3dcad631af4a743c91e0c09348442bc", + "scripts/experiments/rank_pair_compiler.py": "9984aaccf880e4840402322d76678bfddb33ce7e494af78430a43429f51b85fd", + "scripts/partial_swap/paired.py": "ddcecace3a8e04d690914cbd64873ab8dde8c0c3477a255767b0ed6f639bb0c7", + "scripts/partial_swap/shared.py": "81e9af92cdf38243a540cdcff2062778e449467848d444da37a9553c12ca4c34" + }, + "repo": "rohanarun/integer-mult-bounds", + "scope": "Authenticated PR65 finite source closure and complete published baseline physical words, profiles and arithmetic. Original upstream sources and notices are preserved byte-for-byte. Actual inherited dependencies are additionally checked through the shared PR48 manifest.", + "shared_dependency_manifest": "../pr48/SOURCE.json", + "shared_dependency_manifest_sha256": "6ccc673f88d3650d75ed600b082fe2fc2866dd88a172d182a38c1d0cd27d24b3" + }, + "pr67": { + "author": "Rohan Arun with OpenAI assistance", + "commit": "b3745601e947a94316bf25c2c6263d93c06e3364", + "files": { + "LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "NOTICE": "5931cb7d43e09380594b113018cac70258fb66e0673b91f706b01ea482c1be1a", + "research/slot-cost-rank-pair/README.md": "e0fcd8e732c8b8becb3d860eb83dc979ed5e6b33ba16caf9dca1e44f7929c340", + "research/slot-cost-rank-pair/arithmetic/certificate.json": "e66f955f1b76ce3db7ecb84294993a072f42f972b8f3040015c12e6dc953d698", + "research/slot-cost-rank-pair/compiler.py": "29296211e0532aaf19101a6b2f2ceaebe374af95ae3acd63e63656db0afef7ae", + "research/slot-cost-rank-pair/frame-compiler.json": "eb5c0b401e677d3958ecfcd6d8de3bc825c4fb66d1cf79c3fcbcf23938ca6e69", + "research/slot-cost-rank-pair/paired-candidate.json": "be0322ad60f73923953f242eaffaf114ff12438e8617dae38888b77fa03184cc", + "research/slot-cost-rank-pair/profile_oracle.cpp": "d1f6b650de9fb5842b412595369271d9eeb6f54045c76c0fb5cad29854955c35", + "research/slot-cost-rank-pair/verify.py": "3c1d2eac9d3d2f13b60503deaa84e11ab2975aa84af71c8ad74584c5902b2d77" + }, + "repo": "rohanarun/integer-mult-bounds", + "scope": "Preserved immutable source and reported complete baseline profile/arithmetic for all-rank profile-cost reclamation. This package verifies its own composed words, actual paid profile and exact improvement.", + "shared_dependency_manifest": "../pr48/SOURCE.json", + "shared_dependency_manifest_sha256": "6ccc673f88d3650d75ed600b082fe2fc2866dd88a172d182a38c1d0cd27d24b3" + }, + "pr68": { + "author": "Dominik Scholz with OpenAI assistance", + "commit": "734c58e225e9d2254570c3b50296ed96943f62ea", + "files": { + "LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "NOTICE": "d9db68e85db965bf7037d535ddc354b096b7c3b8f4cb0eb4887dc61eba5eae23", + "research/global-anchor-screen/PROOF.md": "3023c8c039acb3afc2a1e0c2ee55dcffaa4a1a2961076222ae20b03d0f3c6a38", + "research/global-anchor-screen/SOURCE.json": "f6249b8f91c7721a59ecc6d43a3f2ec65162578203bd430ef76732a3937399f3", + "research/global-anchor-screen/compiler-frozen.py": "12d646fa9ad69e4f3c532fe69080d8fe1509cde0968a6ab52a9d60273803adc0", + "research/global-anchor-screen/selected-manifest.json": "97bd86fc20fb3aee2d1adacd6a485b12e918b7340d2d3ca70e1318889e13e3a0", + "research/global-anchor-screen/selected_compile.py": "86bdfcf599c6b131e376773fe177bca57a9f63c9b60bad5de8aa00982d779b22" + }, + "repo": "DominikScholz/integer-mult-bounds", + "scope": "Preserved original pending live-carrier compiler, selected driver, proof and source provenance. This package composes the pending lifecycle and both containment checks with PR67 profile-cost selection and its own next-use scoring.", + "shared_dependency_manifest": "../pr48/SOURCE.json", + "shared_dependency_manifest_sha256": "6ccc673f88d3650d75ed600b082fe2fc2866dd88a172d182a38c1d0cd27d24b3" + }, + "split_operation": { + "author": "Rohan Garg / rohangar1 with OpenAI Codex assistance", + "commit": "641f22e52913db784f3b6ff1176b0c2945aae45b", + "files": { + "LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "NOTICE": "f85437ee441f2a028660dd5e8dbdc0ec7b52bb55c04ea34fa4829c154bfd0ac1", + "research/split-skip/SOURCE.json": "7c2b4646a3ecfef6f881da5c43e4bd0fa9a4d1b00548b8ab458d897e16735134", + "research/split-skip/split_graph.py": "9b16ba907cbd58611fb64bfb9211be7809d54822d44c78fc6167cf4ba79eb905" + }, + "repo": "CrocSwap/integer-mult-bounds", + "scope": "Preserved original split-pair operation and attribution. These files document the adapted grouping operation; they are not imported by this producer. Actual imported source closure is PR65 plus shared PR48." + } + }, + "status": "Finite conditional physical witness and exact balanced assembly; inherited transfer hypotheses remain assumed" +} diff --git a/certificates/split-pair-profiles-23.json b/certificates/split-pair-profiles-23.json new file mode 100644 index 0000000000..bf40dc76b4 --- /dev/null +++ b/certificates/split-pair-profiles-23.json @@ -0,0 +1 @@ +{"h":23,"v":1771,"R":27455,"loss":506,"rank_sum":631971,"field_prime":2305843009213693951,"frames":59803,"distinct_matrices":38745,"crt_matrices":5750,"crt_disagreements":0,"blocks":[0,357148,21253,8022,5466,4156,3835,3250,2612,2109,1750,1529,1008,863,555,461,234,149,40,9,0,23,0,0]} diff --git a/certificates/split-pair-profiles-25.json b/certificates/split-pair-profiles-25.json new file mode 100644 index 0000000000..2f4bb6b9e9 --- /dev/null +++ b/certificates/split-pair-profiles-25.json @@ -0,0 +1 @@ +{"h":25,"v":2300,"R":36015,"loss":600,"rank_sum":900975,"field_prime":2305843009213693951,"frames":84845,"distinct_matrices":52075,"crt_matrices":7444,"crt_disagreements":0,"blocks":[0,492698,27869,10467,7897,5674,5027,4110,3809,3047,2490,2047,1814,1443,1151,898,567,470,271,163,47,13,0,25,0,0]} diff --git a/certificates/split-pair-repository-validation.json b/certificates/split-pair-repository-validation.json new file mode 100644 index 0000000000..5d54439696 --- /dev/null +++ b/certificates/split-pair-repository-validation.json @@ -0,0 +1,20 @@ +{ + "base_commit": "fc74109a6978cb1849547e0dcb9d9df995ddaac5", + "construction": "Anchored split frames with profile-cost pending live reclamation", + "focused_verification": { + "certificate_sha256": "0fcb53fa374273efab6370953c966e8fa065dbfdba43691843a4788cb2cda42e", + "command": "make -j1 split-pair-verify", + "completed_at": "2026-10-08T19:06:05.451986+00:00", + "exit_code": 0, + "full_repository": "PENDING", + "independent_source_receipt_sha256": "89a3b9123f908acf2c877c1c676abfaf44a986db9366c6d675b5e129bc4fcab9", + "independent_tests_receipt_sha256": "db7c44f82fba9f585617438c059088a7991accbe9d48be5c78ef969d73cd504f", + "log_sha256": "076411072dd88e92b155c39a5223bffc846a205f76379ad509790f8cbfeb89c3", + "source_sha256": "9d5a4a7c4cf459f4c5731809de93cfb4b873cb8c9ea95a1be9239733a9a93c72", + "status": "PASS deterministic selected-word regeneration, both physical replays/profiles, exact moment/assembly and 23 focused tests" + }, + "full_repository_command": "make -j1 verify", + "independent_audit": "PASS frozen source/proof/physical/arithmetic integration; receipts bound in focused result", + "scope": "Only finite conditional construction; inherited all-size hypotheses remain.", + "status": "PENDING expanded full repository verification" +} diff --git a/certificates/split-pair-transitions-23.json b/certificates/split-pair-transitions-23.json new file mode 100644 index 0000000000..1a389c32fd --- /dev/null +++ b/certificates/split-pair-transitions-23.json @@ -0,0 +1,35 @@ +{ + "h": 23, + "v": 1771, + "R": 27455, + "frames": 59803, + "distinct_transitions": 152272, + "singles": 15939, + "rank_mass": 631971, + "rank_histogram_with_side_growth_split_into_singletons": { + "1": 69190, + "2": 73632, + "3": 10224, + "4": 15382, + "5": 6461, + "6": 1593, + "7": 694, + "8": 1229, + "9": 411, + "10": 539, + "11": 98, + "12": 671, + "13": 254, + "14": 1927, + "15": 439, + "16": 440, + "17": 487, + "18": 3417, + "19": 6882, + "21": 171, + "22": 23 + }, + "word_sha256": "b0379d99fd6c10307da0d0fc526ed6171f19105a47bae61730fc3745ef60bd9e", + "copied_centers": 23, + "transition_events_equal_independent_xor_word_reconstruction": true +} diff --git a/certificates/split-pair-transitions-25.json b/certificates/split-pair-transitions-25.json new file mode 100644 index 0000000000..e5864300a1 --- /dev/null +++ b/certificates/split-pair-transitions-25.json @@ -0,0 +1,37 @@ +{ + "h": 25, + "v": 2300, + "R": 36015, + "frames": 84845, + "distinct_transitions": 212584, + "singles": 20700, + "rank_mass": 900975, + "rank_histogram_with_side_growth_split_into_singletons": { + "1": 91026, + "2": 108047, + "3": 13560, + "4": 19874, + "5": 8387, + "6": 2967, + "7": 1127, + "8": 1443, + "9": 664, + "10": 791, + "11": 38, + "12": 758, + "13": 149, + "14": 681, + "15": 167, + "16": 2265, + "17": 680, + "18": 566, + "19": 828, + "20": 4481, + "21": 8893, + "23": 280, + "24": 25 + }, + "word_sha256": "4c956749f0ec72c61875c51099afdf23e69ccea268a9b43b8d46da2ffdb24903", + "copied_centers": 25, + "transition_events_equal_independent_xor_word_reconstruction": true +} diff --git a/certificates/split-pair-validation.json b/certificates/split-pair-validation.json new file mode 100644 index 0000000000..471a5bed88 --- /dev/null +++ b/certificates/split-pair-validation.json @@ -0,0 +1,237 @@ +{ + "axes": { + "23": { + "profile": { + "R": 27455, + "blocks": [ + 0, + 357148, + 21253, + 8022, + 5466, + 4156, + 3835, + 3250, + 2612, + 2109, + 1750, + 1529, + 1008, + 863, + 555, + 461, + 234, + 149, + 40, + 9, + 0, + 23, + 0, + 0 + ], + "crt_disagreements": 0, + "crt_matrices": 5750, + "distinct_matrices": 38745, + "field_prime": 2305843009213693951, + "frames": 59803, + "h": 23, + "loss": 506, + "rank_sum": 631971, + "v": 1771 + }, + "replay": { + "elementary_xors": 162103, + "full_basis_vectors": 30997, + "h": 23, + "histogram": { + "0": 175253, + "1": 58564, + "2": 78945, + "3": 10224, + "4": 15382, + "5": 6461, + "6": 1593, + "7": 694, + "8": 1229, + "9": 411, + "10": 539, + "11": 98, + "12": 671, + "13": 254, + "14": 1927, + "15": 439, + "16": 440, + "17": 487, + "18": 3417, + "19": 6882, + "21": 171, + "22": 23 + }, + "output_roles": 5336, + "rank_mass": 631971, + "roles": 27455, + "status": "independent serialized word, exact frames, full input and dirty basis both orientations PASS", + "word_length": 673206 + }, + "transitions": { + "R": 27455, + "copied_centers": 23, + "distinct_transitions": 152272, + "frames": 59803, + "h": 23, + "rank_histogram_with_side_growth_split_into_singletons": { + "1": 69190, + "2": 73632, + "3": 10224, + "4": 15382, + "5": 6461, + "6": 1593, + "7": 694, + "8": 1229, + "9": 411, + "10": 539, + "11": 98, + "12": 671, + "13": 254, + "14": 1927, + "15": 439, + "16": 440, + "17": 487, + "18": 3417, + "19": 6882, + "21": 171, + "22": 23 + }, + "rank_mass": 631971, + "singles": 15939, + "transition_events_equal_independent_xor_word_reconstruction": true, + "v": 1771, + "word_sha256": "b0379d99fd6c10307da0d0fc526ed6171f19105a47bae61730fc3745ef60bd9e" + } + }, + "25": { + "profile": { + "R": 36015, + "blocks": [ + 0, + 492698, + 27869, + 10467, + 7897, + 5674, + 5027, + 4110, + 3809, + 3047, + 2490, + 2047, + 1814, + 1443, + 1151, + 898, + 567, + 470, + 271, + 163, + 47, + 13, + 0, + 25, + 0, + 0 + ], + "crt_disagreements": 0, + "crt_matrices": 7444, + "distinct_matrices": 52075, + "field_prime": 2305843009213693951, + "frames": 84845, + "h": 25, + "loss": 600, + "rank_sum": 900975, + "v": 2300 + }, + "replay": { + "elementary_xors": 225757, + "full_basis_vectors": 40615, + "h": 25, + "histogram": { + "0": 242882, + "1": 77226, + "2": 114947, + "3": 13560, + "4": 19874, + "5": 8387, + "6": 2967, + "7": 1127, + "8": 1443, + "9": 664, + "10": 791, + "11": 38, + "12": 758, + "13": 149, + "14": 681, + "15": 167, + "16": 2265, + "17": 680, + "18": 566, + "19": 828, + "20": 4481, + "21": 8893, + "23": 280, + "24": 25 + }, + "output_roles": 6925, + "rank_mass": 900975, + "roles": 36015, + "status": "independent serialized word, exact frames, full input and dirty basis both orientations PASS", + "word_length": 935228 + }, + "transitions": { + "R": 36015, + "copied_centers": 25, + "distinct_transitions": 212584, + "frames": 84845, + "h": 25, + "rank_histogram_with_side_growth_split_into_singletons": { + "1": 91026, + "2": 108047, + "3": 13560, + "4": 19874, + "5": 8387, + "6": 2967, + "7": 1127, + "8": 1443, + "9": 664, + "10": 791, + "11": 38, + "12": 758, + "13": 149, + "14": 681, + "15": 167, + "16": 2265, + "17": 680, + "18": 566, + "19": 828, + "20": 4481, + "21": 8893, + "23": 280, + "24": 25 + }, + "rank_mass": 900975, + "singles": 20700, + "transition_events_equal_independent_xor_word_reconstruction": true, + "v": 2300, + "word_sha256": "4c956749f0ec72c61875c51099afdf23e69ccea268a9b43b8d46da2ffdb24903" + } + } + }, + "bit_saving": "12854322426487/250000000000000000", + "certificate_sha256": "0fcb53fa374273efab6370953c966e8fa065dbfdba43691843a4788cb2cda42e", + "kappa": "51414646104039/1000000000000000000", + "margins": 7, + "producer_words_regenerated_and_matched": true, + "scope": "Finite conditional witness; unchanged data geometry and general transfer proofs are inherited dependencies.", + "source_binding": "Source manifests, inherited manifest digest, compiler receipt source, both word digests, and all local compiler/verifier sources are bound by the exact composition certificate.", + "status": "PASS complete serialized-word replay, actual CRT profiles, exact recurrence and balanced assembly", + "strict_constraints": 47 +} diff --git a/certificates/split-pair-word-23.json.gz b/certificates/split-pair-word-23.json.gz new file mode 100644 index 0000000000..38b82cbb3d Binary files /dev/null and b/certificates/split-pair-word-23.json.gz differ diff --git a/certificates/split-pair-word-25.json.gz b/certificates/split-pair-word-25.json.gz new file mode 100644 index 0000000000..da9935d15a Binary files /dev/null and b/certificates/split-pair-word-25.json.gz differ diff --git a/references/frame-compiler/pr59-split-operation/LICENSE b/references/frame-compiler/pr59-split-operation/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/references/frame-compiler/pr59-split-operation/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/references/frame-compiler/pr59-split-operation/NOTICE b/references/frame-compiler/pr59-split-operation/NOTICE new file mode 100644 index 0000000000..27ef89b204 --- /dev/null +++ b/references/frame-compiler/pr59-split-operation/NOTICE @@ -0,0 +1,229 @@ +A sharper exponent for integer multiplication +Copyright 2026 Douglas Colkitt + +This project includes unmodified source files from OpenAI's manuscript +"Integer multiplication below n log n" and its accompanying repository: +https://github.com/openai/math +Commit: adc7f1241b42e322a6451854ab7e4b4c146bf78a + +The original manuscript identifies OpenAI as its author. Its Apache-2.0 +license is retained at upstream/LICENSE. The exact source URLs and hashes +are recorded in upstream/manifest.json. Proposed modifications are supplied +as separate files under patches/; upstream source files remain unchanged. + +The original local research note, scripts, certificates, patches, and +documentation were prepared by Douglas Colkitt with assistance from OpenAI +Codex. The community release incorporates work by the contributors identified +in the notices below; it is not solely Douglas Colkitt's work. +This project is not an official OpenAI release or an OpenAI endorsement. + +Related contributions (not imported in this checkpoint): +Zhihao Chen (jacklightChen), PR #7, supplied an earlier ternary five-subset +motif, finite-alphabet transfer and a different compressed producer: +https://github.com/CrocSwap/integer-mult-bounds/pull/7 +The present checkpoint claims no priority for that motif. Related compressed +complex-network work was submitted by eumemic in PR #3: +https://github.com/CrocSwap/integer-mult-bounds/pull/3 +The pending contributions and their stronger bounds require their own review; +this notice does not represent adoption or verification of their claims. + +Additional community work, including parallel and superseded submissions, is +acknowledged in CONTRIBUTORS.md, with pinned submission metadata in +docs/research/contribution-snapshot.json. These acknowledgements do not imply +joint authorship of the checkpoint, incorporation of pending code, or verification +of submitted mathematical claims. Original source-specific notices remain in force. + +Community release (accepted by conditional maintainer audit): +The following original contributor notices apply to the imported PR #39 chain. +The preceding non-import statements describe the preserved 2^-30 checkpoint. + +Ternary five-subset construction and common-four-point resynthesis +Copyright 2026 Zhihao Chen (jacklightChen) + +This is Zhihao Chen's first submission of this specific construction to this +repository. Research, proof development, code and verification were prepared +with substantial assistance from GPT-6 Astra (OpenAI Codex), as identified by +the contributor. This is not independent review or an OpenAI endorsement. +Future research building on this contribution should explicitly acknowledge +Zhihao Chen (jacklightChen), cite the accompanying note and pull request, and +retain the preceding contributors' attribution. This notice records research +provenance; the repository's Apache-2.0 license remains unchanged. + +Dependencies retained from eumemic's Claude-assisted PRs #3 and #5: +https://github.com/CrocSwap/integer-mult-bounds/pull/3 +https://github.com/CrocSwap/integer-mult-bounds/pull/5 +PR #5 commit: d3d370c34937503bd3fa63c83d505a05e8e50893 +These include complex_circuit.py, complex_network.py, fast_gaussian.py, +their generators, construction notes and certificates. The Gaussian input +scaling proof is corrected in this derivative; see the modification notice below. +Aligned pairing also appears in Bortlesboat's PR #2. Retained totals and bank +sharing appear in dleen's PR #4 and cheaper retained centers in eumemic's PR #6. +Their results and ideas are credited separately from this new construction. + +Bulk recursion and controlled tensor basis, 8 October 2026 +Copyright 2026 icekylinx + +The new projector batching, controlled simultaneous basis, mixed-width tape +recursions, whole-residual complex recursion, and dependency-path precision +guard in the batched-23 proof package are contributed by icekylinx, developed +with substantial OpenAI GPT-6 Astra assistance. Review corrections and +repository integration were prepared with OpenAI Codex assistance. They build on the retained +PR #7 finite producers and the preceding contributions credited above. +The new package retains the repository's Apache-2.0 license and the original +authors' attribution. It is not an official OpenAI release or endorsement. + +Modification notice, 8 October 2026 (icekylinx): the retained fast Gaussian +proof now bounds shifted approximation error by F=2^ceil(1.14 alpha^2). +The P=34p precision budget and asymptotic exponent are unchanged. New batching +checks are integrated into make verify. Existing attribution and licenses +are retained. + +Partial-swap extension, 8 October 2026 +Copyright 2026 icekylinx + +The partial-swap framing, binary retained-total triple construction, +dependency-preserving positive labels and carrier reuse, unequal (25,23,57) +common basis, improved complex batching, and exact assembly are contributed +by icekylinx with substantial OpenAI GPT-6 Astra and Codex assistance. +This extension directly inherits PR #10, commit +62691e395a0458ce089a1c7b5d89e74291e95e29. The portable producer adapters +modify the retained paired-exclusion and shared-point implementations credited +above. The original licenses, attribution, and Gaussian correction are retained. + +Endpoint-gauge extension, 8 October 2026 +Copyright 2026 icekylinx + +The complementary auxiliary endpoint gauges, (32,30,40) controlled basis, +general nondegenerate binary phase residuals, retained-center complex producer, +updated path guard and exact assembly are contributed by icekylinx with +substantial OpenAI GPT-6 Astra and Codex assistance. This extension inherits +f2ab41aebad47861caf6316282c1793e5513845e and its PR #10 ancestry. New portable +adapters retain the paired-exclusion and shared-point contributions credited +above. Original licenses, notices and the Gaussian correction are retained. + +Structured-basis and semantic-bulk extension, 8 October 2026 +Copyright 2026 icekylinx + +The selected (32,30,36) bit construction, A1/A5 block refinements, fixed +middle-axis I+J profiles with bounded-minor CRT certificates, mixed dyadic +complex centers, complete data-front batching and circuit-specific assembly +are contributed by icekylinx with substantial OpenAI GPT-6 Astra and Codex +assistance. The immediate parent is ed90fd940279c336ebc45968631bdebfb087b505. + +The semantic/bulk compatibility argument, literal scalar charge, product row +stock and parameterization adapt Zhihao Chen (jacklightChen)'s PR #23, +commit 661ebabc1076c9f525d7ce4967c876b203fa9827. Translated complex endpoints +are adopted from the same contributor's PR #21, +commit 5ba6cf0bfb68f2be8d15610e7972207c50254d6a, following eumemic's source-frame +work and the earlier nested-basis contributions. + +Completed-child semantic precision, arbitrary-coordinate routing, phase-cell +Gaussian inversion and bulk tape transfer are credited to the RaD project +(hipotures), commit 45d9b60355872041f9275f77c057514def0d45bc, exposed through +PR #20 at 4f8d6c8272b5ff307a0da51df545ec3cd96a8b6e. Their selected proof +sources retain their separate CC0 license and original NOTICE under +references/semantic-bulk/rad20. The PR #23 source retains its recorded OpenAI +Codex assistance; RaD retains its recorded Codex and GPT-6.1-Sol Ultra +assistance. These are source attributions, not claims about this session's +runtime model. Related contributions by Rohan Arun and Aurel Prosz remain +acknowledged in the imported notices. No exclusive priority or additional +license condition is asserted. + +Copied retained-center extension, 8 October 2026 +Copyright 2026 icekylinx + +The copied retained-center schedule in both orientations, its complex-phase +transfer, the Wm-N+L rank budget, and the selected (25,23)/(28,28) composition +are contributed by icekylinx with substantial OpenAI GPT-6 Astra and Codex +assistance. This extension inherits PR #32 at +0ef3aeb61f55cc0b321ce6a0ef00acee25cefe52 and the preceding PR #10/#18/#24 work. + +The two-stage topology and paid copied-stream endpoint correction are due +to Aurel Prosz (Paureel), c82d09eb4781b68435e3fa3eb6beea72fa900fab, +through Zhihao Chen (jacklightChen)'s PR #29 unequal-axis composition, +9d963275075fa98f1da821e27757b238dafd6b3c. That source also credits Swapnil +Jain's two-stage development at ae405eb474d1486b2d8aef90139869f927f4836a. + +The contiguous corner method, incidence factorization and exact partition +certificates are due to Rohan Arun (PR #31), method commit +02f68f95369c39955c5ffcfddbd75cd83e26b305. The selected (25,23) certificate +specializes Dominik Scholz's parameterization (PR #33), +a499a345c040aa15b68e984a0904eadc485c7a7e. Their source notices and proof +snapshots are preserved in references/copied-centers. Historical OpenAI +Codex, GPT-6 Astra and Anthropic Claude Opus 5.5 assistance is credited to +the respective imported sources. Existing PR #21/#23 and RaD attribution, +licenses and the Gaussian correction remain in force. + +Copied centers with reversed (23,25) data corners, 2026-10-08 +Rohan Arun with substantial OpenAI Codex assistance supplies the composition, +exact dimension23 controls and cost/assembly integration. James Chang's PR34 +supplies the reversed boundary family; icekylinx's PR36 supplies copied retained +centers and the selected complex graph. The balanced assembly remains attributed +to RaD/hipotures and its PR34 specialization. Retain Dominik Scholz PR33, Rohan +Arun PR31, Zhihao Chen PR29/21/23, Paureel/Aurel Prosz, Swapnil Jain, icekylinx, +eumemic, Douglas Colkitt, OpenAI and all earlier notices and hypotheses. +This is not a claim of formal verification, new foundational rank identities, +global optimality or measured runtime speedup. + +Fixed middle basis with copied reversed corners (2026-10-08): +Rohan Arun, with substantial OpenAI Codex assistance. Composition and +simultaneous-basis proof retain icekylinx PR32/36, James Chang PR34, +Dominik Scholz PR35/38, Zhihao Chen, Paureel, Swapnil Jain, RaD/hipotures, +eumemic and all preceding attribution and licenses. See research/copied-fixed-reversed. + +Changed-graph composition with copied centers and fixed bases, 8 October 2026 +Prepared with OpenAI Codex assistance. +The new composition uses icekylinx PR36 copied centers and PR32 fixed-I+J +projectors/profiler, Dominik Scholz PR35 two fixed factors and CRT argument, +Zhihao Chen (jacklightChen) PR29/23 interfaces, Aurel Prosz (Paureel) and +Swapnil Jain's two-stage development, Rohan Arun PR25/31 corner methods, +Dominik Scholz PR33/38 dimension/composition work; James Chang (jamesyc) +PR34 reversed geometry and balanced transfer; Rohan Arun PR37/39/40 +reversed integration, modular data tests and both-fixed baseline; +RaD (hipotures) PR41 changed scalar DAGs, alternating point order and +independent role compiler; RaD balanced routing/bulk interfaces, and all +retained predecessors. +Complete attribution and the conditional proof boundary are recorded in +research/copied-fixed/PROOF.md; imported originals and source pins are retained. +Original Apache-2.0 and CC0 notices remain applicable. + +Community follow-up integration (PRs #49, #45 and #26), 8 October 2026: +Rohan Arun contributes weighted carrier matching and climbed summand/leave-one-out +orders (PRs #44/#47/#49), with Anthropic Claude assistance. The final construction +composes Chafik Boukhalfa's changed-graph checks, exact rational data recovery and +reordered exclusion sums (PRs #43/#46/#48, OpenAI Codex assistance) with RaD / +hipotures's alternating pair order and independent physical role compiler (#41). +All predecessor attribution and conditional proof interfaces remain in force. + +Alejandro Zarzuelo Urdiales contributes Gaussian parity and canonical arithmetic +proofs, finite tensor execution, profile precision accounting and mixed-center +reference checks (#45), with substantial OpenAI Codex assistance. See +research/gaussian-parity-synthesis/PROVENANCE.md for his full attribution. +Ryan S / princezuda contributes historical Lean certificate arithmetic, algebraic +frame/movement/guard lemmas and independent paired-circuit checks (#26). Original +source notices and historical snapshots are preserved. Neither formal package +claims a full formal proof of the multiplication algorithm or a new kappa. + +Skip-prefix strip producer, 8 October 2026 +By Avi Eisenberg (ikeboy), with Anthropic Claude (Claude Opus 5.5) +assistance. The skip-prefix leave-one-out strip layout in +research/skip-strips/skip_graph.py is new. Everything else reuses Chafik +Boukhalfa's PR #43/#46/#48 research/copied-fixed pipeline, its verification +code, exact data recovery and support-order sorting, together with: +- Rohan Arun's PR #44 weighted carrier matching optimizer; +- RaD (hipotures) PR #41 alternating point order; +- every predecessor credited above. +Complete attribution and the conditional proof boundary are recorded in +research/skip-strips/PROOF.md. Original Apache-2.0 and CC0 notices remain +applicable. + +Local split-pair skip-prefix research continuation (2026-10-08) +Prepared with substantial OpenAI Codex assistance at the user's request. +New contribution: singleton/pair recursive partition refinement, finite summand +order and moment search, and verified composition with inherited paid clones. +Avi Eisenberg/ikeboy with Anthropic Claude assistance: PR53 skip-prefix strips. +Chafik Boukhalfa with OpenAI Codex assistance: PR54 original-envelope clone +specialization and PR43/46/48 checking interfaces. RaD/hipotures: PR51 +whole-chain/source-partition cloning and earlier producer/interfaces. +Rohan Arun: PR44 weighted matching and earlier fixed/reversed work, with all +stated historical AI assistance. All predecessor notices remain applicable. diff --git a/references/frame-compiler/pr59-split-operation/SOURCE.json b/references/frame-compiler/pr59-split-operation/SOURCE.json new file mode 100644 index 0000000000..280e096342 --- /dev/null +++ b/references/frame-compiler/pr59-split-operation/SOURCE.json @@ -0,0 +1,12 @@ +{ + "author": "Rohan Garg / rohangar1 with OpenAI Codex assistance", + "commit": "641f22e52913db784f3b6ff1176b0c2945aae45b", + "files": { + "LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "NOTICE": "f85437ee441f2a028660dd5e8dbdc0ec7b52bb55c04ea34fa4829c154bfd0ac1", + "research/split-skip/SOURCE.json": "7c2b4646a3ecfef6f881da5c43e4bd0fa9a4d1b00548b8ab458d897e16735134", + "research/split-skip/split_graph.py": "9b16ba907cbd58611fb64bfb9211be7809d54822d44c78fc6167cf4ba79eb905" + }, + "repo": "CrocSwap/integer-mult-bounds", + "scope": "Preserved original split-pair operation and attribution. These files document the adapted grouping operation; they are not imported by this producer. Actual imported source closure is PR65 plus shared PR48." +} diff --git a/references/frame-compiler/pr59-split-operation/research/split-skip/SOURCE.json b/references/frame-compiler/pr59-split-operation/research/split-skip/SOURCE.json new file mode 100644 index 0000000000..2ab610b6ea --- /dev/null +++ b/references/frame-compiler/pr59-split-operation/research/split-skip/SOURCE.json @@ -0,0 +1,189 @@ +{ + "PR54": { + "consumed_commit": "7210de7d0f9ccaeb64c3f60f188419e02be08d95", + "contribution": "Chafik Boukhalfa original-envelope paid-clone replay, deriving from RaD / hipotures PR51", + "difference": "Only validation.json changed; claim and replay sources unchanged", + "latest_observed_commit": "84eb0b067741dc2690da837743fda06d133da865" + }, + "files": { + "research/skip-strips/PROOF.md": "0fad3bfbd7062e1607fc95430170d12f9613cc6d850a18871f1cbc8c27434934", + "research/skip-strips/SOURCE.json": "d6819476cb69ad731db2c809844d672a8c8f367fb120ffe43467ac471dc8574d", + "research/skip-strips/audit.py": "dd369a7a6e0be4354c05560d0e1d9750c14839928459f43beeb55970f86e0631", + "research/skip-strips/balanced_assembly.py": "4d27575dcad2b45a281a34054d311409ecd954f373c0c3a62c29bcc843f06a86", + "research/skip-strips/certificate.json": "9f5f094765d9478086634e71e79179376d8b4fbfc5a2f30d8055b9c137a58a8b", + "research/skip-strips/comparison-pr40.json": "3cf55a63468df230b57089f66c4a97dbee25ca5a0771f53ef23c972774718060", + "research/skip-strips/comparison-pr41.json": "58beeb816847707c6c866c72ce078b751f70ab65c5baa7c498f863005602e7a2", + "research/skip-strips/comparison-pr42.json": "22d8c3347405a1df3bf970c199b5c58062c8fc34d5916c86c1353b97254c4461", + "research/skip-strips/comparison-pr43.json": "3595db8b0eb1f139c00e6e5984522ba91ac693d26bc32bed07211846024757c6", + "research/skip-strips/comparison-pr44.json": "d2681a5c0c0020410fe0a23fd4bae51bf31171d55572ba6a79f6c9928a7543de", + "research/skip-strips/comparison-pr46.json": "f7a34054403075c51289e58b583c05ff42c43e72d286b9c3ff4fc5ae7f4bca44", + "research/skip-strips/comparison-pr47.json": "d15ecc820d540a2bfea10bc7d72688240aea89245ff27de263b1de0e74e4273a", + "research/skip-strips/comparison-pr48.json": "36de96fd3aea4e0b335d3693434f004f05220bc33a4a165596288e038052734b", + "research/skip-strips/data-corners.json": "82dc2d3e116fc003348d6e9ff0cce90fd70d3d6c156580b769ff3d38b3399e17", + "research/skip-strips/data_corners.cpp": "d134f43d31b896daf504511991be8608c6ba9d20a6606c57e2e12d4b203b7d44", + "research/skip-strips/data_recovery.py": "0de7e0fc4f38b066ec319e4dde43bce8f20edd207be9f9736610babf95030253", + "research/skip-strips/links-23.uses": "63e47bdaebb8a5c718a4d65e2d6f6bcb8d7548a32030e3b312157b4fa665b7bf", + "research/skip-strips/links-25.uses": "a8a3b0dd47d5d5a46aa4eaf844f7fbd9279e21547b5c01950a31706e700210d3", + "research/skip-strips/optimize_matching.py": "b8146942253fd34fafb92f6eaca4d145609e4c277704492635135095a03ddacf", + "research/skip-strips/original-23.json": "35caafcaf98170fe5260765248ed8bf43edc33d01e81138e8fa540067192fbb3", + "research/skip-strips/original-25.json": "8ecd5028fcfa9972ee9e1d241a0bc296ac4e1888c42e8f0c05f95e11de326109", + "research/skip-strips/original_timeline.py": "cf152459e080f556931122bc0afa3417835ea4a6d14e541be12c67f317e25f60", + "research/skip-strips/producer-receipt.json": "58f2ac793292600daf0c49e54c0b56a6d2e25adaa82cc2a8a84fe57ad681e9fb", + "research/skip-strips/producer.py": "1f1f212cab43a12c6f6845a24f95e09ecd9da4389fd8121e7aa4a3b6aa6a4ccf", + "research/skip-strips/profiles-23.json": "baac5249694959d063a4b0bae156610679682f0782d4254cd509dbf3bd26850f", + "research/skip-strips/profiles-25.json": "214bdd7a5a5c0618d0d5507bc2973b4bb06f88327ee33697823ed1924bcffdf0", + "research/skip-strips/profiles.cpp": "b9fbd71c746609948b60c441ba4601e88436956fe636d1810f270ce4ce6a63a6", + "research/skip-strips/reversed/geometry-source.json": "de0f18e22e2fba877cb5beb4a4b0f3e181938c00b98e2f276708a63ae681ea17", + "research/skip-strips/reversed/geometry.py": "6f8990c17781d5dd42176762a3f9c95de012248a1470f34654388e5adad3b93f", + "research/skip-strips/reversed/pr34/certify_reversed.py": "77311474169f64a154c2435bcde9303fbc472cbd9ac4d2b39c76e7560fa9e3a3", + "research/skip-strips/reversed/pr34/independent_controls.py": "f0450c9a8127b538df6cc36ed744ad707b9e72756af9ce5290023272999c5c65", + "research/skip-strips/scalar-23.json": "08fd09b33c22f609e241753aa38495fd4bef0bfbc4222d5f7e0301cb0aa9c2bc", + "research/skip-strips/scalar-25.json": "c54a47e688ba8d69fbe095f6775cd540505a80e5977ea53afe8f0051e115633a", + "research/skip-strips/skip_graph.py": "03ee019cdaf73391455aaf4f5dcb4873f4fdcb278179b296c02ea39eafd047e4", + "research/skip-strips/timeline-23.json": "1f7e9ca7efc96855ef64164d8c2ec1026b9e5f1ce95f0858ef6528aee81c150c", + "research/skip-strips/timeline-25.json": "1e7a692e2e73465ecd0138cfe3429dec5a91f8c87998a6318d689ff600213441", + "research/skip-strips/verify.py": "502543a9e331a30965f042ab40fbf67b72e79310f088d9c80000853d964203d0", + "research/split-skip/PROOF.md": "ce6bdb8d41209cfbceb499a1c6d564a8db359edad9c3ef173b42b1780936f881", + "research/split-skip/clone-jobs-23.json": "2ee04d3f9e2c86f0ac9136cf5229939d99ec3f04454264caaadb2cdc2dd0b88b", + "research/split-skip/clone-jobs-25.json": "555f5ef3eeb5b2af9e2a91d60a1c209def9b3803220e40c1864648794f6dbcb6", + "research/split-skip/clone_io.py": "0d75053f455aa85a0da416bf1abdd85b8f7c7d92dafc8496ce48f1782d67537c", + "research/split-skip/cloned_graph.py": "00fd4a2050cb1f61052b2a39a8903d005c6b94a15d26954c91f109764f3f16d6", + "research/split-skip/comparison-pr54.json": "63015194bfc4e0b99cfc5986b4201c836965484b34a5d507fea97ee0b344310a", + "research/split-skip/config-23.json": "09bfb8a80386616194988dc15579e99a3ea77e4ff8c848ec8ccbbae356533fea", + "research/split-skip/config-25.json": "f3412207cecf15ce604b9560388234ea4bf4ec7919f45f0348f37ed6182208c7", + "research/split-skip/data-corners.json": "82dc2d3e116fc003348d6e9ff0cce90fd70d3d6c156580b769ff3d38b3399e17", + "research/split-skip/data_corners.cpp": "d134f43d31b896daf504511991be8608c6ba9d20a6606c57e2e12d4b203b7d44", + "research/split-skip/graph.py": "ebc130d2b2ffb3db4ebff9263b5515721d861481909092ff11e27dca682aed70", + "research/split-skip/independent_arithmetic.py": "4b8a18570b3505d4fa53d089a9fa6024515057d978087f6862d9fb78a4f0c7c4", + "research/split-skip/links-23.uses": "6eac4370bbb92089465a6202f168a6ab6d234969203d314b1ed534cba8497951", + "research/split-skip/links-25.uses": "ea4574651a410e6232f309e7220f3209a04a9c4d908012b2210ae82695473b94", + "research/split-skip/original-23.json": "3aa92276461bad8170edb5a64ccfd5f621c6980d5812dfea0ecbe148200dbaf4", + "research/split-skip/original-25.json": "b232d59d52bd5c0238afc61505bab0e1bdf77e8f83c08b914400d2aca1421fa8", + "research/split-skip/parameters.json": "45538e7b883a07f669f448a023c180777ffae2f7ed293c39e6e43fbb0dc5ad99", + "research/split-skip/producer.py": "2301730e6d5e9f655424c03e231661f7c42900896fe6b06107c57b8c796d9f55", + "research/split-skip/profiles-23.json": "c7ba01155b77c1c84f592e22b79aa67d47ebb12067160f13bac5f5fd550a0317", + "research/split-skip/profiles-25.json": "a0383786ebc1eef9de281895dc98224a39c380f92460a4dae2e3e7565bfcb71a", + "research/split-skip/profiles.cpp": "b9fbd71c746609948b60c441ba4601e88436956fe636d1810f270ce4ce6a63a6", + "research/split-skip/scalar-23.json": "dcbb02ce301e11f21433806a636e1e3e794c1feae5c4d9c2bd4eedb0b5791b3b", + "research/split-skip/scalar-25.json": "612d61d48e8d1ed8c955fa2aa30e6c95f3c55f9e495fa01e1d5a29fa0c8a4f2a", + "research/split-skip/search-receipt.json": "bdcfa15abcde1c24b96bc0ce87853acb23763247f17917db904eac7c54fc7cb8", + "research/split-skip/split_graph.py": "9b16ba907cbd58611fb64bfb9211be7809d54822d44c78fc6167cf4ba79eb905", + "research/split-skip/timeline-23.json": "3bef45d6c7ce10b734bc0e4de4b82d7bae2c84c542cba6f6d1f41219e6b5fe58", + "research/split-skip/timeline-25.json": "21d36e2b06cff2c72135b50470b45d220ff360dbcca809362ed812adb4effa80", + "research/split-skip/uncloned-comparison.json": "9f4eec9793207b60d6bb49b3cf632f65bfdd3c068428e34e2d891661817dfedf", + "research/split-skip/vendor/pr54/clone_io.py": "d8e88aa31caf6bdb9e2abb82302e808b9ac2e4c5dd146e5249ec891d8e8b30a2", + "research/split-skip/vendor/pr54/cloned_graph.py": "f862ea9bf3c321b6685b7852fe66bd25cfc9de49dda47df7ae38f1f28fefe6db", + "research/split-skip/witness.py": "669c9778165afd2b50fa6b2711c0a24c0508a274f74ca9a64c55bc4c7ae66bd0", + "scripts/audit_additive_labels.py": "fa12eb2c102dc3ea176b6b5ac22618bf1cd2ff15cefc458d3a4274661abcfe6f", + "scripts/audit_block_labels.py": "5455255446aaca07caae5187487cac5129fdbd823de778bae74ea16ca1f78f10", + "scripts/audit_cancellation.py": "508934ee4d9514a5519813603b6192a0d53103b6e30d65b8d53a1a774de244b6", + "scripts/audit_coded_carries.py": "b914227845265e856e5c343bb8588bb6621477afab40ba6a08ced95eca595ef3", + "scripts/audit_compact_controls.py": "c3513cd6b41a20bc33b392d66c1536f0a5fcaa76088848361a3aef64074fa989", + "scripts/audit_fused_block.py": "2afb83ca8e5f193ca8a4c242becf267ad1d9dc2578ba238b820e98d5185f6288", + "scripts/audit_gather_schedules.py": "d7b4f64a672404a4d46fb2dd46a9e71db70fc61e3e2e8ba4ad20a8a07eb724b6", + "scripts/audit_joint_frames.py": "3df8061392ce0ba42bbde8c02f2a30c8141145e70e9a48c18da73d3aafb14423", + "scripts/audit_packed_movement.py": "d283f6900c97e04c687f77697ea8b29d5cac5a2f69cf2a79766099573dd66517", + "scripts/audit_scratch_pooling.py": "12748b9915aaa5b59f0e32ee0b4f8bf0cdb86d5bf90d633cd12bdfb832e414a3", + "scripts/audit_short_guards.py": "c2c929c956e617bee739963b517b9069e0d067cfebc6820f401a4e90a1769eb1", + "scripts/audit_sparse_fusion.py": "bbaa32f9786f083409e363b081bfb7a1e597c8d32e4183c13a4105c2170934ce", + "scripts/batched_bit_rank_moment.py": "f23bcecb8a71fcc89bc69f8e9f7845483f4b150951099bb296f82c4eba29820c", + "scripts/batched_network.py": "45d918d5a064339299c21a12f02462ac3fe7e18380fa6a5a6e2542566865b830", + "scripts/block_label_targets.py": "3bfc422d60db0d79d8cd955a77d8b72c581bc0d4e288589f359fbf8ee6a76c52", + "scripts/bulk_complex_guard.py": "e64bb4e086205155fddf85cea86dbc8f9dcd09af4654d8e4b5c3b2c9b4d04e66", + "scripts/certify.py": "2348d95008276c5d5764f7e028c3918e484582cd589bd4d9b82919161745e53e", + "scripts/compact_control_layer.py": "e814c9f8d84f2e5d3aa2e06c36697f27f110218addc40ff8df2801fde861ff9f", + "scripts/complex_circuit.py": "d623617f7c5cb3189580883a8ab30c0bd3832688ae3f1f0c1f881bbbbff8e0c1", + "scripts/complex_network.py": "0da395e67ac04fa213494e71012c1b19b544596d34cdce5a3b172b1fb6af5f1b", + "scripts/controlled_bit_rank_moment.py": "572a1aea08b5b62da000588862d4724fdb47326b95282b76b8e49dd6923f73a0", + "scripts/copied_centers/__init__.py": "13db4f09038a2ff5335cbd4dbd93274b0fb16b3c7b51e4de67cbb2801a3f78e1", + "scripts/copied_centers/corners.py": "9eecdc39c67cc18c806a33f0be03986c28591d322881fd60c11f52c625c8067b", + "scripts/copied_centers/physical.py": "837345d1f8753eab0e70f105b1d1bb0db965b993da037b1825ddef3672609d7d", + "scripts/copied_centers_network.py": "409ebfbd8a41c4c4d089aa0949fcf5a949415dc26f57440ffd48b7bd8881e6a9", + "scripts/copied_centers_producer.py": "33afa6fe25677e13656fa8a200a25ed3510ef70c1ff9f1186612cbd9ee75d209", + "scripts/dag_network.py": "820f1f6e9f26251f58510ae7312e37a91bb5fefc37f8eeaaa648d0c68c48ed2e", + "scripts/endpoint_gauge/__init__.py": "ec74b81eb64a8167df4597a5ab94bd7a99f65acf0186bca684a74bcbec91113a", + "scripts/endpoint_gauge/bit.py": "5b2817bd1b35a42fabb636541907fcbdc394ed2ef1405099a10de9c9cf524b09", + "scripts/endpoint_gauge/complex.py": "dd0e1ff9729eadb65a18dba48fdbe824f423e025003f081f532b443b939f610a", + "scripts/endpoint_gauge/match_complex_general.cpp": "fb83c08125521128a38f5ee53f91d192904cc3372ad8f196ad9576e5f4f727da", + "scripts/endpoint_gauge_network.py": "7af181e30093d593ca58d0a133dca6862b06f2d350db1c5d745e588856258704", + "scripts/endpoint_gauge_producer.py": "484490dda84716f7077b07aa14fa510fbef2f77124c8b0b99e2adef50c232690", + "scripts/exclusion_circuit.py": "b253f9d7318becda1c1f3b24e2287ed44a9c27fcea00cf9d531afb950d0457a0", + "scripts/experiments/block_completion.py": "58d928accb928fff0230eef4901a876e6d7a2ec24a3694e4784614f340a03b8d", + "scripts/experiments/exclusion_greedy.py": "d8fa918119a6d944174522a5f7a2f55dc9f905aeca98e1864dc9bbf672876902", + "scripts/experiments/intersection_circuit.py": "a877cb59aca1f003fc5db4bff5cd873af57be6d8d2465835d6fbe2c396ee5c09", + "scripts/experiments/intersection_greedy.py": "e7faceecad5d1efdc849c52ebe7258453e1579308fc8e31d9a4b3256f6ca9d0e", + "scripts/fast_gaussian.py": "11430c2df0783b933dc91080595bb7514bb052b8c7b12107e27a1ef701e31e43", + "scripts/fetch_upstream.py": "2109ad8965d88dec73f8e851731eb949d95164f6afd8dfd0e57c11dbc2dd1f31", + "scripts/incidence_network.py": "033c934acb838e5222d60e09929d724281bb58ad9c2dfc02e89996788ff39ac7", + "scripts/incidence_rectangles.py": "5240fd33dcc3096f5685d10ca360186cad36b355a00d55686a4ea4449417d00e", + "scripts/make_batched_patch.py": "dbf2e939833a282e261511a89cf6fd1c59d51c73db0c6ef65f0605c7ebd7ae6a", + "scripts/make_compact_control_patch.py": "8eb6776b9049267c5a0b3209cf9668d4cc37622a9b111795a68819291db5dd08", + "scripts/make_complex_circuit_patch.py": "17d13ca9ff43a2fc411aa14fd7c8e1f25648b41f09c17a7bbe40a6cfa09862c3", + "scripts/make_dag_patch.py": "1d8e693926f0c770b9a971aba5174fb77422b19f28326d62c0bb6ff62b2dd721", + "scripts/make_fast_gaussian_patch.py": "ce2013dc3a674b920ddacf25fd17329b262885af0a19279e084238318dff4760", + "scripts/make_incidence_patch.py": "11745d761a94c8dc3f150de1da06bd0c4f6841bacc07ff24a3e1807e68cfcec0", + "scripts/make_nonadjacent_patch.py": "4b1ed6115f0919afa5b375688e13dfcbe4eabafbbe32917eb912230ad8421294", + "scripts/make_paired_patch.py": "35cef140ea2656dc30f751414c10d50c6de62e52625fbad85b74f34c2739a273", + "scripts/make_patch.py": "a38a04c3e829b37a61291dd497247ccbe7204d61b505ddf36cca8bc112c11fd4", + "scripts/make_prime_field_patch.py": "a05974b4431cfdd4c5571add995cfaec0288b0c8ed6608142c790b2c61943c5a", + "scripts/make_reuse_patch.py": "c90384c4b0d3b7000e4e2b0f886280140f06627ab976ca8f21d4a32b8dd25166", + "scripts/make_shared_point_patch.py": "06c5f1d7b52fe7493aa249dbbcb9880e7c77cf8c4418ed8d1dc617910295f79c", + "scripts/nonadjacent.py": "dca1e533611ac898a29e176214eb21c152853e68f97f7af533aba1ccb3b1b0f0", + "scripts/paired_complex.py": "4f4c28102bfc528e264896e6c32bbd0e66da0973237e96e4044d8ccf7e78a1de", + "scripts/paired_exclusion_circuit.py": "8f05f04cf06217befd6d0ee0f2d7d0c5c5eb32cfab8c9a8ca7917fd6d620b7d2", + "scripts/paired_network.py": "991223dc3c1374284c361ed017e42bf732dd971fa0bea2be2282cfb18257b3f7", + "scripts/paired_triple_circuit.py": "8f5f2de32fdbd8e0005154638660ff416e5a8cd59623bd0dc03f6f7f97ce2fb1", + "scripts/partial_swap/__init__.py": "0438eaa34134600467a5864f93c3e15142eb025b35cef189c2e969cffea72a7f", + "scripts/partial_swap/binary.py": "d32d7a23548cc738e974e8e55dd1fa2a8b11d2b80228515617ffe35410bb8805", + "scripts/partial_swap/binary_io.hpp": "d0be783f61ac4b7981e7e48a8c1139b52572302ba76c191c0e9a1b16a1a05e0e", + "scripts/partial_swap/graph.py": "fd8c567759e26a10d2bad05508fd0355eb70fb116664d4e06e1858d0d8cb2ef9", + "scripts/partial_swap/match_exported_dag.cpp": "7901b0fb1b80b628a24cfd7fda57bbc32f58771594d08b318b90e4b8cdf0ef82", + "scripts/partial_swap/match_positive_dag.cpp": "8a6d64e2d0ac2c69210fb0b8a5bd0d714ad40b3609f75a5fddfcba3291a3d552", + "scripts/partial_swap/paired.py": "ddcecace3a8e04d690914cbd64873ab8dde8c0c3477a255767b0ed6f639bb0c7", + "scripts/partial_swap/positive.py": "1dadf771226d6e4f3bf9ce3aae2e6a2ad7173f4d1c900299d0663fc4c432f3e8", + "scripts/partial_swap/shared.py": "81e9af92cdf38243a540cdcff2062778e449467848d444da37a9553c12ca4c34", + "scripts/partial_swap_network.py": "acdd81b4dea2815f8838a0c3ea8ac4968f2bc13fd7c99173473d865779096782", + "scripts/partial_swap_producer.py": "dba07d742c68e8e4aedd1d93fc4c47a0481778268f7480997463e2b269fdd0a0", + "scripts/prepare_layers.py": "a6e2adc612f264b1c0e51d18ce6315de9ae5e2ae2420aa22e99a22d8bf304947", + "scripts/prime_field_checks.py": "be21a411cdca5fa331fb9f36352ce98c055cb5e973553255e4530d07e99ae5c4", + "scripts/prime_field_circuit.py": "50485ac5a65b2707aab2b870477fbf503f4776699f6dd5ce38fb2006cc95d0f6", + "scripts/prime_field_network.py": "16629edd6aa8357b3fabcd5e1a70027860864a64475e8c0e7c822ee81dcd1ab9", + "scripts/prime_field_supports.cpp": "927dbb2ac2a411f06d8d9e0c440548f7ab965311fd83f4a573668d94d0cff1fe", + "scripts/research_networks.py": "3db82e1aa5faec2f76bcfd19a996a447048af56b25000af3324884a751e8e864", + "scripts/reuse_network.py": "f345f4f015a17497c173ed331aad2133908e2a67d683455ffd60dbb3b3ed1aa1", + "scripts/search_incidence_partitions.py": "d2e5a98d07dee702064671d9d081b8dc18e7a1bfeb45e4217905141732abd1bf", + "scripts/search_network.py": "3a4faa5037d9b8e7ca5828afac193a96b6966a8b114f14937921795b24ec4f6a", + "scripts/search_network_variants.py": "069a80a1ac504e83c5da60f4737440552df1ca4c57218ab2e32523f88199cbbc", + "scripts/shared_point_circuit.py": "c9bb7a5df92d260a4e3ad532b53e26936730d7c93f7facfb0784957c1e81c8ba", + "scripts/shared_point_network.py": "a85e7f0d8c42d6a27e3846308571ca324a1824ac5c2d59e4daa5c7673c33c697", + "scripts/small_block_witness.py": "a8bff53b5e6a13808305cab3d53c2532b1fcb5ff172653d02761b028eb60d79b", + "scripts/structured_bulk/__init__.py": "9c6d0e9c71caa218263b636359b7d6c88f8428cba3cbd27b9f549045d4609b7d", + "scripts/structured_bulk/complex.py": "ee769039ea2111de5488fdc4abba28d50ed8885fa7e8dcd12728c5dbe6170b92", + "scripts/structured_bulk/exactness.py": "2e04898ee4463bf4d2f7ad6b50dd0801e4ebe195d06a33ce428ffd1c0beeb67f", + "scripts/structured_bulk/rankone_profiles.cpp": "5e003fde6e4779078988ce5ba1adf988cb846afbd8fd44faa920a3baa4126848", + "scripts/structured_bulk_assembly.py": "e99467e14211fba699878ed036e1e2362eb8e395dc22f9ecdcecc7fbf2cc736d", + "scripts/structured_bulk_network.py": "82608e2e7eb622f3ff78ce9bdc3e6c97087c6785aecd1a0eab947e389856600f", + "scripts/structured_bulk_producer.py": "c20e04b5216b04b9343cb28f1b1d164c6ac42ceaac067d82d2850f908dd7d5f6", + "scripts/tune_routing.py": "5728c848e23c905f37a9d77928283e64ace5e7b69c3572780c1291800d005e6e" + }, + "main_integration": { + "commit": "64ed4cbf872b86b81c22f104967b88d24b8e4548", + "reason": "Merge current main, preserve its grouped CI, and retain include-only header fix; finite construction unchanged.", + "updated_dependency_hashes": { + "research/skip-strips/SOURCE.json": { + "after": "d6819476cb69ad731db2c809844d672a8c8f367fb120ffe43467ac471dc8574d", + "before": "5cae23859745d8b7b90a2ee40cf2c3e90a6c247a0b60ad17e75c8084b9339610" + }, + "research/skip-strips/certificate.json": { + "after": "9f5f094765d9478086634e71e79179376d8b4fbfc5a2f30d8055b9c137a58a8b", + "before": "126e1f37b881334b68830c2943797eb7cd490df9509f4d8d162128a5f9993503" + }, + "scripts/partial_swap/binary_io.hpp": { + "after": "d0be783f61ac4b7981e7e48a8c1139b52572302ba76c191c0e9a1b16a1a05e0e", + "before": "7e143eb75bb342ac8f0c82a60005e7c35c9ec827de479bf6fb773151f3af5fa1" + } + } + }, + "parent_commit": "3ffd4021995c959ac02d12920e0279ae97dd03c7", + "parent_pr": 53 +} diff --git a/references/frame-compiler/pr59-split-operation/research/split-skip/split_graph.py b/references/frame-compiler/pr59-split-operation/research/split-skip/split_graph.py new file mode 100644 index 0000000000..08d31a53d9 --- /dev/null +++ b/references/frame-compiler/pr59-split-operation/research/split-skip/split_graph.py @@ -0,0 +1,126 @@ +"""Split-pair recursion with pinned summand orders, built on PR53 skip strips. +Original skip-prefix layout: Avi Eisenberg / Anthropic Claude PR53. +Paired exclusion: icekylinx; alternating common-point order: RaD / hipotures. +Grouping and order refinement here prepared with OpenAI Codex assistance. +Apache-2.0; retained predecessor source notices apply. +""" +from itertools import combinations +import sys, json +from pathlib import Path +ROOT=Path(__file__).resolve().parents[2] +sys.path[:0]=[str(ROOT/'scripts'),str(ROOT/'research/skip-strips')] +import skip_graph as base +from partial_swap.paired import PairedExclusionCircuit +from partial_swap.shared import SharedPointCircuit + +def reorder(c, values, mode): + order=list(range(len(values))) + if mode=='reverse': order.reverse() + elif mode=='desc': order.sort(key=lambda i:(c.support[values[i]].bit_count(),c.support[values[i]]),reverse=True) + elif mode=='asc': order.sort(key=lambda i:(c.support[values[i]].bit_count(),c.support[values[i]])) + elif mode=='size_desc': order.sort(key=lambda i:(-c.support[values[i]].bit_count(),c.support[values[i]])) + elif mode=='support_desc': order.sort(key=lambda i:(c.support[values[i]].bit_count(),-c.support[values[i]])) + elif mode=='odd_even': order=order[1::2]+order[::2] + elif mode=='even_odd': order=order[::2]+order[1::2] + elif mode=='ends': order=[x for pair in zip(order[:len(order)//2],order[::-1][:len(order)//2]) for x in pair]+([len(order)//2] if len(order)%2 else []) + elif mode!='input': raise ValueError(mode) + return order + +def graph(h,config=None,record=None): + if config is None: + config=json.loads((Path(__file__).resolve().parent/f"config-{h}.json").read_text()) + cfg=config or {}; recording=record if record is not None else {} + totals=cfg.get('totals',{});strips=cfg.get('strips',{}) + class Circuit(base.circuit_class(h)): + def grouping(self,points): + groups=super().grouping(points) + choices=cfg.get('groups',[0,0,0,0,0]) + choice=choices[self._level] if self._level3 and choice: + k={1:0,2:(len(groups)-1)//2,3:len(groups)-1}[choice] + if len(groups[k])==2:groups[k:k+1]=[[x] for x in groups[k]] + assert all(len(g) in (1,2) for g in groups) and len(groups) 1 and W > 0, 'positive arity and role volume required') + degree, bits = halving_degree(m, child), W.bit_length() + require(integer(data['halving_degree']) == degree, name + ' stale halving degree') + require(integer(data['wire_bits']) == bits, name + ' stale role logarithm') + result[name] = dict(m=m, W=W, maxchild=child, + halving_degree=degree, wire_bits=bits) + phase = finite_bridge['complex'] + s, scalar = (integer(phase[k]) for k in ('s', 'scalar_group_upper')) + m, W, child = (result['complex'][k] for k in ('m', 'W', 'maxchild')) + require(0 < s < m*W and scalar > 0, 'invalid complex rank/scalar bound') + E = 64*(W+m+scalar+1)**3 + B = s+E + literal = 2*scalar*W**2+8*s+4*W+4+32*m + C0 = 32*m*B**2 + semantic = dict(E=E, B=B, C0=C0, C1=1, literal_charge=literal, + strict_literal_gap=E-literal, + induction_gap=2*B*(m-child)-(s+E)) + require(E > literal and semantic['induction_gap'] >= 0 and C0 > 2*B+18, + 'semantic completed-child bound failed') + for key, value in semantic.items(): + require(rational(finite_bridge['semantic'][key]) == value, + 'stale semantic constant: '+key) + result['complex'].update(s=s, scalar_group_upper=scalar) + result['semantic'] = semantic + rows = finite_bridge['rows'] + coefficient = sum(result[name]['halving_degree']*result[name]['wire_bits'] + for name in ('bit', 'complex')) + degree = integer(rows['degree']) + gap = degree-Q(51,25)*coefficient + require(degree > 0 and gap > 0, 'insufficient product row degree') + expected = dict(coefficient=coefficient, degree=degree, + degree_gap=gap, suffix_slope=4*degree) + for key, value in expected.items(): + require(rational(rows[key]) == value, 'stale product row constant: '+key) + result['rows'] = expected + return result + + +def assembly(finite_bridge, a_bit, kappa, beta=Q(1,20), h=Q(1,10**12), + a_complex=Q(717,10**7), *, original_prefix=False, + old_guard=False, old_exposures=False): + """Return 47 strict slacks and seven margins, or raise InvalidAssembly. + + The three keyword switches are negative controls: they impose the old + prefix, nonlinear guard, or old separate movement charges at these SAME + balanced parameters. They do not silently optimize an alternative family. + """ + f = validate_bridge(finite_bridge) + a, b, kappa, beta, h = map(rational, (a_bit,a_complex,kappa,beta,h)) + require(0 < h < Q(1,2) and kappa > 0, 'positive backoff and saving required') + tau, sigma = 1-a, 1-b + q = a*(1-2*h) + require(1+q != 0, 'undefined balanced epsilon') + lp, c, eps = 1-q, q+h/4, (1-h)/(1+q) + lam = (tau+lp)/2 + G = eps*q + r, delta = (G+1-eps)/2, h/8 + C1 = Q(19991,10000) if old_guard else Q(1) + margins = dict(g1=1-eps, g2=a, g3=G, g4=a, + g5=min(1-eps-delta,r-delta), g6=1-eps-delta, g7=eps) + if original_prefix: + margins['g1'] = 1-eps*(1+c) + if old_exposures: + margins.update(g2=eps*c*a, g4=a*(1-eps)) + internal = tau+(1-beta)*max(sigma-tau,Q(0)) + leaf = sigma+beta*(1-sigma) + slacks = dict(a_positive=a, a_below_b=b-a, b_below_one_over32=Q(1,32)-b, + beta_positive=beta, beta_below_one=1-beta, phase_leaf_above_bit=(1-beta)*b-a, + q_positive=q, q_below_internal=1-internal-q, q_below_leaf=1-leaf-q, + c_positive=c, c_below_one=1-c, q_below_reservations=c-q, + lambda_above_tau=lam-tau, lambda_above_sigma=lam-sigma, + lambda_above_internal=lam-internal, lambda_prime_above_lambda=lp-lam, + compact_leaf=lp-leaf, compact_reservations=lp-(1-c), lambda_prime_below_one=q, + epsilon_positive=eps, epsilon_below_one=1-eps, guard_width=1-eps*C1, + K_geometry=1-eps*(1+c), K_dominates_log=eps*c, + record_suffix=1-eps, phase_local=1-eps-delta, phase_boundary=r-delta, + gamma_sublinear=1-eps-r, cell_above_band=eps-(1-r)/2, + prime_interval_packing=1-eps, alpha_positive=r, alpha_below_one=1-r, + alpha_below_one_fourth=Q(1,4)-r, delta_positive=delta, + delta_below_one_eighth=Q(1,8)-delta, short_record_fallback=eps-a, + small_field_exposure=1-eps-G, artificial_boundary=8-eps+r-delta-G, + literal_scalar_guard=Q(f['semantic']['strict_literal_gap']), + row_product_gap=f['rows']['degree_gap']) + slacks.update({name+'_above_kappa': value-kappa for name,value in margins.items()}) + require(len(slacks) == 47 and len(margins) == 7, 'constraint list incomplete') + failed = {name:str(value) for name,value in slacks.items() if value <= 0} + require(not failed, str(failed)) + require(min(margins.values()) == G, 'unexpected controlling margin') + require(1-eps-G == h and 1-eps-r == h/2, 'balanced identities failed') + require(1-eps*(1+c) == h-eps*h/4, 'geometric identity failed') + parameters = dict(a_bit=a, a_complex=b, tau=tau, sigma=sigma, beta=beta,h=h, + q=q,c=c,epsilon=eps,lambda_=lam,lambda_prime=lp,alpha_squared_power=r, + delta=delta,C0=f['semantic']['C0'],C1=C1,kappa=kappa) + return dict(parameters=parameters,constraints=slacks,margins=margins, + minimum_margin=G,absorption_gap=G-kappa,scoped_limit=a/(1+a), + recurrence=dict(internal=internal,leaf=leaf,reservations=1-c),finite_bridge=f) + + +def cutoffs(finite_bridge, result): + """PR34 sufficient numeric comparisons, retaining its all-interval padding. + + These are eventual arithmetic thresholds, not practical running times or + substitutes for additional native setup / prime / recovery thresholds. + """ + f = validate_bridge(finite_bridge) + p = result['parameters'] + e,c,r,beta = (p[k] for k in ('epsilon','c','alpha_squared_power','beta')) + ka,km,kb,ks = (ceil(1/x) for x in (r,e*c,1-e,e*beta)) + C0 = f['semantic']['C0'] + largest = max(f['bit']['m'],f['complex']['m']) + cuts = dict(guard=ceil(Q((2*C0).bit_length())/(1-e)), + normalization=ceil(7/(1-e-r)), alpha=16*ka*ka+1, compact=64*km*km+1, + geometry=ceil(3/(1-e*(1+c))),phase_cell=ceil(9/(e-(1-r)/2)), + period=128*kb*kb+1,stopped_leaf=ks*(4*largest).bit_length(),log_p=25,reservoir=14) + common = max(cuts.values()) + require(common >= max(2*ka,2*km,2*kb,25), 'cutoff does not cover monotone regime') + checkpoints=[] + for j in range(6): + z=common*2**j + powers=dict(alpha=(z//ka,8*(z+ka)+64),compact=(z//km,32*(z+km)+192), + period=(z//kb,16*(z+kb)+56), + rows=(z//kb,f['rows']['suffix_slope']*(z+kb+8)), + leaf=(z//ks,4*largest)) + require(all(lhs >= rhs.bit_length() for lhs,rhs in powers.values()), + 'compressed-power threshold failed') + checkpoints.append(dict(log2_input=z,powers={name:dict(exponent=lhs,rhs=rhs, + rhs_bits=rhs.bit_length()) for name,(lhs,rhs) in powers.items()})) + return dict(cutoff_log2_input=cuts,common_cutoff=common,power_checkpoints=checkpoints, + all_interval_argument='For [Z,Z+k), bound RHS at Z+k and LHS at floor(Z/k). ' + 'Successive intervals double LHS; the positive affine RHS grows at most ' + 'linearly, so 2^j >= j+1 proves persistence.', + additional_eventual_conditions=['BHP prime threshold and distinct-prime packing', + 'Fixed rational basis, eligible common prime and native table setup', + 'Catalogue/descriptor domination, logarithm absorption, exact recovery'], + practical_runtime_claim=False) diff --git a/references/frame-compiler/pr65/references/frame-compiler/pr48/research/copied-fixed/certificate.json b/references/frame-compiler/pr65/references/frame-compiler/pr48/research/copied-fixed/certificate.json new file mode 100644 index 0000000000..fa4b29c06d --- /dev/null +++ b/references/frame-compiler/pr65/references/frame-compiler/pr48/research/copied-fixed/certificate.json @@ -0,0 +1,17916 @@ +{ + "assembly": { + "absorption_gap": "74937627730682908927817/3333470626501666392080330000000000000", + "constraints": { + "K_dominates_log": "13729316916625478716083360791967/333347062650166639208033000000000000", + "K_geometry": "250013729316916639208033/333347062650166639208033000000000000", + "a_below_b": "61024099/2000000000000", + "a_positive": "82375901/2000000000000", + "alpha_below_one": "666666666666333347062650166639208033/666694125300333278416066000000000000", + "alpha_below_one_fourth": "166646072691083388250600666639208033/666694125300333278416066000000000000", + "alpha_positive": "27458633999931353415833360791967/666694125300333278416066000000000000", + "artificial_boundary": "18667545342947664950502062499917624099/2666776501201333113664264000000000000", + "b_below_one_over32": "311783/10000000", + "beta_below_one": "19/20", + "beta_positive": "1/20", + "c_below_one": "999958812049250082375901/1000000000000000000000000", + "c_positive": "41187950749917624099/1000000000000000000000000", + "cell_above_band": "666666666665666652937349833360791967/1333388250600666556832132000000000000", + "compact_leaf": "26927049500082375901/1000000000000000000000000", + "compact_reservations": "1/4000000000000", + "delta_below_one_eighth": "999999999999/8000000000000", + "delta_positive": "1/8000000000000", + "epsilon_below_one": "13729317166639208033/333347062650166639208033", + "epsilon_positive": "333333333333000000000000/333347062650166639208033", + "g1_above_kappa": "3408408254232349301008147/3333470626501666392080330000000000000", + "g2_above_kappa": "4241/2500000000000", + "g3_above_kappa": "74937627730682908927817/3333470626501666392080330000000000000", + "g4_above_kappa": "4241/2500000000000", + "g5_above_kappa": "5299956450675231223831763/13333882506006665568321320000000000000", + "g6_above_kappa": "11966897703678564007992423/13333882506006665568321320000000000000", + "g7_above_kappa": "3333196040161742016173902349301008147/3333470626501666392080330000000000000", + "gamma_sublinear": "1/2000000000000", + "guard_width": "13729317166639208033/333347062650166639208033", + "lambda_above_internal": "82375901/2000000000000000000000000", + "lambda_above_sigma": "61024099000082375901/2000000000000000000000000", + "lambda_above_tau": "82375901/2000000000000000000000000", + "lambda_prime_above_lambda": "82375901/2000000000000000000000000", + "lambda_prime_below_one": "41187950499917624099/1000000000000000000000000", + "literal_scalar_guard": "9693793493753822316795466474748", + "phase_boundary": "21966907133275670202633360791967/533355300240266622732852800000000000", + "phase_leaf_above_bit": "53854099/2000000000000", + "phase_local": "109834536999766601613833360791967/2666776501201333113664264000000000000", + "prime_interval_packing": "13729317166639208033/333347062650166639208033", + "q_below_internal": "82375901/1000000000000000000000000", + "q_below_leaf": "26927049500082375901/1000000000000000000000000", + "q_below_reservations": "1/4000000000000", + "q_positive": "41187950499917624099/1000000000000000000000000", + "record_suffix": "13729317166639208033/333347062650166639208033", + "row_product_gap": "6548/25", + "short_record_fallback": "666639206901368489075295096355187267/666694125300333278416066000000000000", + "small_field_exposure": "1/1000000000000" + }, + "finite_bridge": { + "bit": { + "W": 177530859, + "halving_degree": 9, + "m": 575, + "maxchild": 529, + "wire_bits": 28 + }, + "complex": { + "W": 537696432, + "halving_degree": 20, + "m": 784, + "maxchild": 756, + "s": 421548223824, + "scalar_group_upper": 4793351472, + "wire_bits": 30 + }, + "rows": { + "coefficient": 852, + "degree": 2000, + "degree_gap": "6548/25", + "suffix_slope": 8000 + }, + "semantic": { + "B": 9696565176891520488614054257040, + "C0": 2358858462850846165593256368932965330169899180021667007021321420800, + "C1": 1, + "E": 9696565176891520488192506033216, + "induction_gap": 533311084729033626873772984137200, + "literal_charge": 2771683137698171397039558468, + "strict_literal_gap": 9693793493753822316795466474748 + } + }, + "margins": { + "g1": "13729317166639208033/333347062650166639208033", + "g2": "82375901/2000000000000", + "g3": "13729316833292145382833360791967/333347062650166639208033000000000000", + "g4": "82375901/2000000000000", + "g5": "21966907133275670202633360791967/533355300240266622732852800000000000", + "g6": "109834536999766601613833360791967/2666776501201333113664264000000000000", + "g7": "333333333333000000000000/333347062650166639208033" + }, + "minimum_margin": "13729316833292145382833360791967/333347062650166639208033000000000000", + "parameters": { + "C0": 2358858462850846165593256368932965330169899180021667007021321420800, + "C1": "1", + "a_bit": "82375901/2000000000000", + "a_complex": "717/10000000", + "alpha_squared_power": "27458633999931353415833360791967/666694125300333278416066000000000000", + "beta": "1/20", + "c": "41187950749917624099/1000000000000000000000000", + "delta": "1/8000000000000", + "epsilon": "333333333333000000000000/333347062650166639208033", + "h": "1/1000000000000", + "kappa": "411862541/10000000000000", + "lambda_": "1999917624099000082375901/2000000000000000000000000", + "lambda_prime": "999958812049500082375901/1000000000000000000000000", + "q": "41187950499917624099/1000000000000000000000000", + "sigma": "9999283/10000000", + "tau": "1999917624099/2000000000000" + }, + "recurrence": { + "internal": "1999917624099/2000000000000", + "leaf": "199986377/200000000", + "reservations": "999958812049250082375901/1000000000000000000000000" + }, + "scoped_limit": "82375901/2000082375901" + }, + "bit": { + "counts": { + "L": 2226400, + "N": 4073300, + "W": 177530859, + "axes": [ + { + "copied_blocks": [ + 0, + 295366, + 23132, + 16820, + 10632, + 8913, + 7089, + 7641, + 5358, + 4666, + 3516, + 3365, + 2287, + 1902, + 1304, + 978, + 575, + 384, + 211, + 0, + 55, + 23, + 0, + 0 + ], + "exactness": { + "common_denominator_bound": 34848, + "correction_numerator_bound": 274032, + "h": 23, + "minor_bounds": { + "2": 38218181861376, + "3": 219993996697351151616, + "4": 1206074983422622280129445888 + }, + "modulus_gaps": { + "2": 2305804791031832575, + "3": 2596143476298113163849933497114623, + "4": 2596142270223349735224350718820351 + }, + "prime_product": 2596143476298333157846630848266239, + "primes": [ + 2305843009213693951, + 2147483647, + 524287 + ], + "single_numerator_bound": 6228 + }, + "fixed": { + "R": 36432, + "blocks": [ + 0, + 295343, + 23132, + 16820, + 10632, + 8913, + 7089, + 7641, + 5358, + 4666, + 3516, + 3365, + 2287, + 1902, + 1304, + 978, + 575, + 384, + 211, + 0, + 55, + 23, + 0, + 23 + ], + "crt_disagreements": 0, + "crt_matrices": 5379, + "distinct_matrices": 68025, + "field_prime": 2305843009213693951, + "frames": 33627, + "h": 23, + "loss": 506, + "rank_sum": 838948, + "v": 1771 + }, + "original": { + "R": 36432, + "baseline_R": 42434, + "c": 37098, + "h": 23, + "histogram": [ + 5244, + 41676, + 30595, + 6012, + 15568, + 7215, + 4691, + 1842, + 4185, + 1306, + 3391, + 976, + 3359, + 939, + 3937, + 1398, + 3343, + 1467, + 8640, + 6346, + 0, + 220, + 23, + 23 + ], + "loss": 506, + "matched": 6002, + "orientation_changes": 717, + "q": 5336, + "rank_sum": 838948, + "v": 1771 + } + }, + { + "copied_blocks": [ + 0, + 394005, + 31950, + 20055, + 12894, + 12217, + 10233, + 10160, + 7115, + 6829, + 5436, + 5273, + 3588, + 3260, + 2423, + 2051, + 1340, + 1021, + 641, + 413, + 225, + 0, + 66, + 25, + 0, + 0 + ], + "exactness": { + "common_denominator_bound": 44928, + "correction_numerator_bound": 353568, + "h": 25, + "minor_bounds": { + "2": 75405344477184, + "3": 613343016893987684352, + "4": 4772090401825349199521120256 + }, + "modulus_gaps": { + "2": 2305767603869216767, + "3": 2596143476297719814829736860581887, + "4": 2596138704207931332497431327145983 + }, + "prime_product": 2596143476298333157846630848266239, + "primes": [ + 2305843009213693951, + 2147483647, + 524287 + ], + "single_numerator_bound": 7366 + }, + "fixed": { + "R": 48329, + "blocks": [ + 0, + 393980, + 31950, + 20055, + 12894, + 12217, + 10233, + 10160, + 7115, + 6829, + 5436, + 5273, + 3588, + 3260, + 2423, + 2051, + 1340, + 1021, + 641, + 413, + 225, + 0, + 66, + 25, + 0, + 25 + ], + "crt_disagreements": 0, + "crt_matrices": 7186, + "distinct_matrices": 91415, + "field_prime": 2305843009213693951, + "frames": 44621, + "h": 25, + "loss": 600, + "rank_sum": 1209425, + "v": 2300 + }, + "original": { + "R": 48329, + "baseline_R": 56044, + "c": 49119, + "h": 25, + "histogram": [ + 6800, + 54247, + 39973, + 7714, + 20972, + 9090, + 4755, + 2916, + 5934, + 1457, + 3588, + 1332, + 4566, + 1032, + 3588, + 1281, + 4949, + 1932, + 4238, + 1657, + 11304, + 8160, + 0, + 286, + 25, + 25 + ], + "loss": 600, + "matched": 7715, + "orientation_changes": 3214, + "q": 6925, + "rank_sum": 1209425, + "v": 2300 + } + } + ], + "child_multiplicities": { + "1": 1470810555, + "10": 17713956, + "11": 17077983, + "12": 11614448, + "13": 10148060, + "14": 7290333, + "15": 5881721, + "16": 3695640, + "17": 10837991, + "18": 1620511, + "19": 731423, + "2": 109787050, + "20": 524975, + "21": 16346100, + "22": 116886, + "23": 91984475, + "25": 85590659, + "3": 74203405, + "4": 47288874, + "481": 8146600, + "5": 42136207, + "525": 85590659, + "529": 83793600, + "6": 34427343, + "7": 35567660, + "8": 24924065, + "9": 22825959 + }, + "deficit": 1846900, + "m": 575, + "maxchild": 529, + "parts": { + "data": { + "1": 73319400, + "17": 8146600, + "21": 8146600, + "481": 8146600 + }, + "data_growth_23": { + "1": 8146600, + "21": 8146600 + }, + "data_growth_25": { + "1": 8146600, + "23": 8146600 + }, + "exterior_23": { + "23": 83793600, + "529": 83793600 + }, + "exterior_25": { + "25": 85590659, + "525": 85590659 + }, + "internal_23": { + "1": 679341800, + "10": 8086800, + "11": 7739500, + "12": 5260100, + "13": 4374600, + "14": 2999200, + "15": 2249400, + "16": 1322500, + "17": 883200, + "18": 485300, + "2": 53203600, + "20": 126500, + "21": 52900, + "3": 38686000, + "4": 24453600, + "5": 20499900, + "6": 16304700, + "7": 17574300, + "8": 12323400, + "9": 10731800 + }, + "internal_25": { + "1": 697782855, + "10": 9627156, + "11": 9338483, + "12": 6354348, + "13": 5773460, + "14": 4291133, + "15": 3632321, + "16": 2373140, + "17": 1808191, + "18": 1135211, + "19": 731423, + "2": 56583450, + "20": 398475, + "22": 116886, + "23": 44275, + "3": 35517405, + "4": 22835274, + "5": 21636307, + "6": 18122643, + "7": 17993360, + "8": 12600665, + "9": 12094159 + }, + "paid_endpoint_copy": { + "1": 4073300 + } + }, + "total_rank": 102078397025 + }, + "exponent": "1999917624099/2000000000000", + "logarithms": { + "1": { + "lower": "3177185020398675220004135749131/500000000000000000000000000000", + "upper": "6354370040797350440008271498263/1000000000000000000000000000000" + }, + "10": { + "lower": "2025892473901652377995140021789/500000000000000000000000000000", + "upper": "4051784947803304755990280043579/1000000000000000000000000000000" + }, + "11": { + "lower": "3956474767998979895946327920297/1000000000000000000000000000000", + "upper": "1978237383999489947973163960149/500000000000000000000000000000" + }, + "12": { + "lower": "3869463391009350129778562018423/1000000000000000000000000000000", + "upper": "483682923876168766222320252303/125000000000000000000000000000" + }, + "13": { + "lower": "3789420683335813703954784056697/1000000000000000000000000000000", + "upper": "1894710341667906851977392028349/500000000000000000000000000000" + }, + "14": { + "lower": "3715312711182091825485686633361/1000000000000000000000000000000", + "upper": "1857656355591045912742843316681/500000000000000000000000000000" + }, + "15": { + "lower": "3646319839695140374012266928113/1000000000000000000000000000000", + "upper": "1823159919847570187006133464057/500000000000000000000000000000" + }, + "16": { + "lower": "3581781318557569202339343012429/1000000000000000000000000000000", + "upper": "358178131855756920233934301243/100000000000000000000000000000" + }, + "17": { + "lower": "3521156696741134359758736880389/1000000000000000000000000000000", + "upper": "352115669674113435975873688039/100000000000000000000000000000" + }, + "18": { + "lower": "3463998282901185747800548902959/1000000000000000000000000000000", + "upper": "43299978536264821847506861287/12500000000000000000000000000" + }, + "19": { + "lower": "1704965530815454989999622033187/500000000000000000000000000000", + "upper": "27279448493047279839993952531/8000000000000000000000000000" + }, + "2": { + "lower": "1415305715059351282647759844201/250000000000000000000000000000", + "upper": "1132244572047481026118207875361/200000000000000000000000000000" + }, + "20": { + "lower": "83965944181083986164326198053/25000000000000000000000000000", + "upper": "3358637767243359446573047922121/1000000000000000000000000000000" + }, + "21": { + "lower": "413730950384240930438459189737/125000000000000000000000000000", + "upper": "3309847603073927443507673517897/1000000000000000000000000000000" + }, + "22": { + "lower": "3263327587439034586529095798839/1000000000000000000000000000000", + "upper": "81583189685975864663227394971/25000000000000000000000000000" + }, + "23": { + "lower": "804718956217050187300379666613/250000000000000000000000000000", + "upper": "3218875824868200749201518666453/1000000000000000000000000000000" + }, + "25": { + "lower": "313549421592914969080675283181/100000000000000000000000000000", + "upper": "3135494215929149690806752831811/1000000000000000000000000000000" + }, + "3": { + "lower": "262787887606462037430651313067/50000000000000000000000000000", + "upper": "5255757752129240748613026261341/1000000000000000000000000000000" + }, + "4": { + "lower": "2484037839838729910586903627673/500000000000000000000000000000", + "upper": "4968075679677459821173807255347/1000000000000000000000000000000" + }, + "481": { + "lower": "35700554138317851917337677133/200000000000000000000000000000", + "upper": "89251385345794629793344192833/500000000000000000000000000000" + }, + "5": { + "lower": "1186233032090812516351878041259/250000000000000000000000000000", + "upper": "4744932128363250065407512165037/1000000000000000000000000000000" + }, + "525": { + "lower": "22742944551431673576538712861/250000000000000000000000000000", + "upper": "18194355641145338861230970289/200000000000000000000000000000" + }, + "529": { + "lower": "41690804469525529197382917321/500000000000000000000000000000", + "upper": "83381608939051058394765834643/1000000000000000000000000000000" + }, + "6": { + "lower": "4562610571569295439195794139881/1000000000000000000000000000000", + "upper": "2281305285784647719597897069941/500000000000000000000000000000" + }, + "7": { + "lower": "4408459891742037134902918754819/1000000000000000000000000000000", + "upper": "220422994587101856745145937741/50000000000000000000000000000" + }, + "8": { + "lower": "66795757798711164246196486467/15625000000000000000000000000", + "upper": "4274928499117514511756575133889/1000000000000000000000000000000" + }, + "9": { + "lower": "4157145463461131057217781024417/1000000000000000000000000000000", + "upper": "2078572731730565528608890512209/500000000000000000000000000000" + } + }, + "lower": "53259257699997876183736668495459569052785792230580620090082251565468500625309917919185182222272809724224279711231586883132969347622582523/53259257700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "saving": "82375901/2000000000000", + "strict_gap": "86357381254751862420191545704798752662973008553534107565392680757691400260904026452418824652737693710240154702379980434099259423216638822857814148601254263753449261128928174148567282159375696049922777800392880416655334347910898177298462563939142973301126073080543562257726240755581747563199696454706185011538581049130537795661088578393521117824130621795646880463274069889057323677109569884775881772801092142271729230590294146536649396307431553962131510800493187347962391626149529196354368034923540602827584261314666865682234666101889906754883827341580055378422372738052380207834708917356370987627010158783063063125894233253844345938226133499179262281464327246428498583476060857838740222705374132954626560591512450850356668750508178861378641462227199236700632011495218187888904536056810333037554362038569390969321460209586420356538594375798712535346414221488555689979502778312890748219238773997515630296103388733080327724435692020757582285245414049886745837906270620637509081126350164913074203246001707064231855337207315125811248151826010206143889771624137487832831018986105280880723364301345037770870540726794365290209985707605672563008298333698438513936108259/2165940252601459141677490751883013275193322666215504449287858620995574649058383107341159054822710147769001237640248393498823431205721859279298307704259446385471815092178607540588779230041288006951067257033779461756736502125543888048198437626440077511084180627209359505721670369421217821876101298029096037907347448655466083144462460050137201663977738751278118894830299811525521364742589339536889358754175260328291483618115328351745249927384180321405585300771058770994665977509836135950111268258632193663186823882124677144822982061691432623466172508322931106968318898783878685676550379892748031807154859926457147971635385486300037257663390819406212771440530511538411760078676757833767015500047497620563493507604338553940807272621263296536184806079257131139497357873468499084752851461796546720486144106370951081467053572310179765286707303165238160072518148041634876057142431943009678482028159277419881407812461676065895656171712006499872133049500814300826594309122518269173322458798613924022262300711275675157933551713872627470261393365833943127638882909262065916289355934225200066927254592736681196043568739745147022959346241358792100000000000000000000000000000000000000000000", + "upper": "2165940252601372784296236000020593083647617867462841476279305086888009256377625415940898150796257728944348499946538153344121051225287760019875091065436588571323213837914854091327650301867139439668907881337729538978936109245127232713850526728262779048520241484236058379648589825858960095635345716281532838210892742470454544563413329512341540575399345230160294764208504164645058090672700282213212249184290484446518682525973056622514659633237643672009277869217096639483865484322488173558485118729435839295151900341521849560561667394825750388800070618416176223140977318728500263303812327512540197098237503555469520961476602423236911363430136975060274545307031332276130295751430329335183539439189658880340788133471383927380215760170412939867434297900395752498035130674231798452741356243608657815950087296037913527105015002919210443826497716744881621478142349329099529642920943387319698979249846386671662169038464160435599552782978926172147697357480056718541348895072631523335416188177976414941135950546362600954687550006808395614924186050708131879487056899055922026517731796737367235908268487455800472679267394707376152418619446993501890014292394327436991701666301561486063891741/2165940252601459141677490751883013275193322666215504449287858620995574649058383107341159054822710147769001237640248393498823431205721859279298307704259446385471815092178607540588779230041288006951067257033779461756736502125543888048198437626440077511084180627209359505721670369421217821876101298029096037907347448655466083144462460050137201663977738751278118894830299811525521364742589339536889358754175260328291483618115328351745249927384180321405585300771058770994665977509836135950111268258632193663186823882124677144822982061691432623466172508322931106968318898783878685676550379892748031807154859926457147971635385486300037257663390819406212771440530511538411760078676757833767015500047497620563493507604338553940807272621263296536184806079257131139497357873468499084752851461796546720486144106370951081467053572310179765286707303165238160072518148041634876057142431943009678482028159277419881407812461676065895656171712006499872133049500814300826594309122518269173322458798613924022262300711275675157933551713872627470261393365833943127638882909262065916289355934225200066927254592736681196043568739745147022959346241358792100000000000000000000000000000000000000000000" + }, + "comparison": { + "PR36": "384569/10000000000", + "PR37": "3850771033/100000000000000", + "PR38": "242889/6250000000", + "PR39": "971668963/25000000000000", + "PR40": "1959367447/50000000000000", + "PR41": "1008542031/25000000000000", + "PR42": "4099494519/100000000000000", + "PR43": "409953/10000000000", + "PR44": "2050314627/50000000000000", + "PR46": "82012589/2000000000000", + "PR47": "4105106623/100000000000000", + "dyadic_corollary": "2^-15", + "next_dyadic_not_reached": "2^-14", + "ratio_PR36": "4627669/4321000", + "ratio_PR37": "4118625410/3850771033", + "ratio_PR38": "411862541/388622400", + "ratio_PR39": "2059312705/1943337926", + "ratio_PR40": "89535335/85189889", + "ratio_PR41": "2059312705/2017084062", + "ratio_PR42": "4118625410/4099494519", + "ratio_PR43": "411862541/409953000", + "ratio_PR44": "23138345/23037243", + "ratio_PR46": "411862541/410062945", + "ratio_PR47": "4118625410/4105106623" + }, + "complex": { + "child_width_multiplicities": [ + [ + 1, + 540572760 + ], + [ + 2, + 336785904 + ], + [ + 3, + 161899920 + ], + [ + 4, + 117097344 + ], + [ + 5, + 93051504 + ], + [ + 6, + 64779624 + ], + [ + 7, + 52822224 + ], + [ + 8, + 70243992 + ], + [ + 9, + 32150664 + ], + [ + 10, + 50699376 + ], + [ + 11, + 22728888 + ], + [ + 12, + 47580624 + ], + [ + 13, + 26208000 + ], + [ + 14, + 44907408 + ], + [ + 15, + 24714144 + ], + [ + 16, + 49192416 + ], + [ + 17, + 20815704 + ], + [ + 18, + 52501176 + ], + [ + 19, + 22624056 + ], + [ + 20, + 46348848 + ], + [ + 21, + 37759176 + ], + [ + 22, + 58961448 + ], + [ + 23, + 40773096 + ], + [ + 24, + 38781288 + ], + [ + 25, + 2208024 + ], + [ + 26, + 3741192 + ], + [ + 27, + 43112160 + ], + [ + 729, + 21464352 + ], + [ + 756, + 516232080 + ] + ], + "counts": { + "B1": 258116040, + "B2": 258116040, + "L": 4953312, + "N": 10732176, + "W": 537696432, + "child_multiplicities": { + "1": 540572760, + "10": 50699376, + "11": 22728888, + "12": 47580624, + "13": 26208000, + "14": 44907408, + "15": 24714144, + "16": 49192416, + "17": 20815704, + "18": 52501176, + "19": 22624056, + "2": 336785904, + "20": 46348848, + "21": 37759176, + "22": 58961448, + "23": 40773096, + "24": 38781288, + "25": 2208024, + "26": 3741192, + "27": 43112160, + "3": 161899920, + "4": 117097344, + "5": 93051504, + "6": 64779624, + "7": 52822224, + "729": 21464352, + "756": 516232080, + "8": 70243992, + "9": 32150664 + }, + "copied_center_circuits": [ + { + "center_ranks": [ + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27 + ], + "h": 28, + "histogram": [ + 14796, + 80867, + 51402, + 24710, + 17872, + 14202, + 9887, + 8062, + 10721, + 4907, + 7738, + 3469, + 7262, + 4000, + 6854, + 3772, + 7508, + 3177, + 8013, + 3453, + 7074, + 5763, + 8999, + 6223, + 5919, + 337, + 571, + 28, + 0 + ] + }, + { + "center_ranks": [ + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27, + 27 + ], + "h": 28, + "histogram": [ + 14796, + 80867, + 51402, + 24710, + 17872, + 14202, + 9887, + 8062, + 10721, + 4907, + 7738, + 3469, + 7262, + 4000, + 6854, + 3772, + 7508, + 3177, + 8013, + 3453, + 7074, + 5763, + 8999, + 6223, + 5919, + 337, + 571, + 28, + 0 + ] + } + ], + "deficit": 5778864, + "dimensions": [ + 28, + 28 + ], + "m": 784, + "maxchild": 756, + "total_rank": 421548223824 + }, + "enclosure": "1+u+u^2/(2(1-u/3))", + "exponent": "9999283/10000000", + "logarithm_upper_bounds": { + "1": "6664409020351/1000000000000", + "10": "4361823927357/1000000000000", + "11": "4266513747553/1000000000000", + "12": "4179502370563/1000000000000", + "13": "4099459662889/1000000000000", + "14": "251584480671/62500000000", + "15": "3956358819249/1000000000000", + "16": "3891820298111/1000000000000", + "17": "766239135259/200000000000", + "18": "754807452491/200000000000", + "19": "116249063787/31250000000", + "2": "5971261839791/1000000000000", + "20": "3668676746797/1000000000000", + "21": "3619886582627/1000000000000", + "22": "3573366566993/1000000000000", + "23": "1764457402211/500000000000", + "24": "3486355190003/1000000000000", + "25": "3445533195483/1000000000000", + "26": "3406312482329/1000000000000", + "27": "3368572154347/1000000000000", + "3": "5565796731683/1000000000000", + "4": "5278114659231/1000000000000", + "5": "5054971107917/1000000000000", + "6": "4872649551123/1000000000000", + "7": "2303954527/488281250", + "729": "36367644171/500000000000", + "756": "36367644171/1000000000000", + "8": "4584967478671/1000000000000", + "9": "893436888603/200000000000" + }, + "moment_upper": "93758349669268174319758205865410416369669365194946428036263324886438920093698460010858713501882394775456058947688857504496378147740660153782705622445171968788940999158190850771009870660961702451316489933657453673410640256343163004633261783258126014322372415015196690665271304600343211202483869148840537844645971747977878306709988702092424295624899718047484041316483866997928443286860331217210569026228462754909148637641705274404842932443778349005557711550186032457951943018925944743009981965944635321901441335715694527157550303349516161701526749290641/93758350468742040597605202574977284831296217469066320109478051808997924815747809871469598767080130850070960188766796326960503351359516783898648613566748094827463364859111089535641760861980778679585390033605502742408965381060590533232327198822037065411694190195298932243216687627021627901452126335306662762812143738702048772208327890811345239489466958284593481432876514849600866059475807763859342905535630627309663603819191403583929521929211097357482640322392664177893686057570737252740635363274594047705896938069320731874459272819040000000000000000000", + "saving": "717/10000000", + "strict_gap": "799473866277846996709566868461626852274119892073214726922559004722049349860610885265197736074614901241077938822464125203618856630115942991121576126038522365700920238764631890201019076228268900099948049068998325124717427528599065415563911051089321775180102241577945383026678416698968257186466124918166171990724170465498339188718920943864567240237109440116392647851672422772615476546648773879307167872400514966177486129179086589485432748351924928772206631719941743038644792509730653397329958725804455602353626204716908969469523838298473250709359/93758350468742040597605202574977284831296217469066320109478051808997924815747809871469598767080130850070960188766796326960503351359516783898648613566748094827463364859111089535641760861980778679585390033605502742408965381060590533232327198822037065411694190195298932243216687627021627901452126335306662762812143738702048772208327890811345239489466958284593481432876514849600866059475807763859342905535630627309663603819191403583929521929211097357482640322392664177893686057570737252740635363274594047705896938069320731874459272819040000000000000000000" + }, + "controls": { + "PR40_bit_at_new_lower": "225818511431434901143450129613675250367060741840259317558179152603547745091720641143418160534936518333388387416533785674009254042754668107/225818314800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "PR41_bit_at_new_lower": "71351390501120105382667951093623831543963199017523832465221628611249289862638259523399377589566608499665993308315735243596852498486401143/71351363600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "PR42_bit_at_new_lower": "35675684798200343049340019110122720910157671615408029067001840793135754771116659125262690868038927797668077298780777541247295863817121613/35675681800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "PR43_bit_at_new_lower": "39385956009599315979378903721423208346195507187143417888392878949339863777130231502525440065262077654352230783095147155214119706814579573/39385952707200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "PR44_bit_at_new_lower": "27972979985809926698189510242186111721799641298372934454141074653606330355033987247203097142447598338739628213358928631749381262069447381/27972977775000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "PR46_bit_at_new_lower": "53513526929327323279826583353483061995125044145882592243457696059568495005255560229136252301198123695755265918459690181269467077912590743/53513522700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "PR47_bit_at_new_lower": "106900961147318756414776323709299143180165013078166700653729842113479441057835447594482895468854894319066737732648871855706927505431906281/106900954800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "old_bit_at_new_lower": "28227323527781237813430958008983158845436241200945201577976121288826000958450463883474541742600969253008151638715984357964612558619308229/28227289350000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + }, + "eventual_bounds": { + "additional_eventual_conditions": [ + "BHP prime threshold and distinct-prime packing", + "Fixed rational basis, eligible common prime and native table setup", + "Catalogue/descriptor domination, logarithm absorption, exact recovery" + ], + "all_interval_argument": "For [Z,Z+k), bound RHS at Z+k and LHS at floor(Z/k). Successive intervals double LHS; the positive affine RHS grows at most linearly, so 2^j >= j+1 proves persistence.", + "common_cutoff": 14000000000000, + "cutoff_log2_input": { + "alpha": 9432294401, + "compact": 37729177601, + "geometry": 3999945085748, + "guard": 5390148, + "log_p": 25, + "normalization": 14000000000000, + "period": 75458355201, + "phase_cell": 19, + "reservoir": 14, + "stopped_leaf": 252 + }, + "power_checkpoints": [ + { + "log2_input": 14000000000000, + "powers": { + "alpha": { + "exponent": 576606260, + "rhs": 112000000194304, + "rhs_bits": 47 + }, + "compact": { + "exponent": 576606260, + "rhs": 448000000777152, + "rhs_bits": 49 + }, + "leaf": { + "exponent": 666666666666, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 576606260, + "rhs": 224000000388536, + "rhs_bits": 48 + }, + "rows": { + "exponent": 576606260, + "rhs": 112000000194304000, + "rhs_bits": 57 + } + } + }, + { + "log2_input": 28000000000000, + "powers": { + "alpha": { + "exponent": 1153212520, + "rhs": 224000000194304, + "rhs_bits": 48 + }, + "compact": { + "exponent": 1153212520, + "rhs": 896000000777152, + "rhs_bits": 50 + }, + "leaf": { + "exponent": 1333333333333, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 1153212520, + "rhs": 448000000388536, + "rhs_bits": 49 + }, + "rows": { + "exponent": 1153212520, + "rhs": 224000000194304000, + "rhs_bits": 58 + } + } + }, + { + "log2_input": 56000000000000, + "powers": { + "alpha": { + "exponent": 2306425041, + "rhs": 448000000194304, + "rhs_bits": 49 + }, + "compact": { + "exponent": 2306425041, + "rhs": 1792000000777152, + "rhs_bits": 51 + }, + "leaf": { + "exponent": 2666666666666, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 2306425041, + "rhs": 896000000388536, + "rhs_bits": 50 + }, + "rows": { + "exponent": 2306425041, + "rhs": 448000000194304000, + "rhs_bits": 59 + } + } + }, + { + "log2_input": 112000000000000, + "powers": { + "alpha": { + "exponent": 4612850082, + "rhs": 896000000194304, + "rhs_bits": 50 + }, + "compact": { + "exponent": 4612850082, + "rhs": 3584000000777152, + "rhs_bits": 52 + }, + "leaf": { + "exponent": 5333333333333, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 4612850082, + "rhs": 1792000000388536, + "rhs_bits": 51 + }, + "rows": { + "exponent": 4612850082, + "rhs": 896000000194304000, + "rhs_bits": 60 + } + } + }, + { + "log2_input": 224000000000000, + "powers": { + "alpha": { + "exponent": 9225700164, + "rhs": 1792000000194304, + "rhs_bits": 51 + }, + "compact": { + "exponent": 9225700164, + "rhs": 7168000000777152, + "rhs_bits": 53 + }, + "leaf": { + "exponent": 10666666666666, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 9225700164, + "rhs": 3584000000388536, + "rhs_bits": 52 + }, + "rows": { + "exponent": 9225700164, + "rhs": 1792000000194304000, + "rhs_bits": 61 + } + } + }, + { + "log2_input": 448000000000000, + "powers": { + "alpha": { + "exponent": 18451400329, + "rhs": 3584000000194304, + "rhs_bits": 52 + }, + "compact": { + "exponent": 18451400329, + "rhs": 14336000000777152, + "rhs_bits": 54 + }, + "leaf": { + "exponent": 21333333333333, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 18451400329, + "rhs": 7168000000388536, + "rhs_bits": 53 + }, + "rows": { + "exponent": 18451400329, + "rhs": 3584000000194304000, + "rhs_bits": 62 + } + } + } + ], + "practical_runtime_claim": false + }, + "finite_bridge": { + "bit": { + "W": 177530859, + "halving_degree": 9, + "m": 575, + "maxchild": 529, + "wire_bits": 28 + }, + "complex": { + "W": 537696432, + "halving_degree": 20, + "m": 784, + "maxchild": 756, + "s": 421548223824, + "scalar_group_upper": 4793351472, + "scalar_terms": [ + { + "c": 78437, + "copied_center_extra_groups": 56, + "h": 28, + "invocations": 3276, + "local_group_upper": 729892, + "v": 3276 + }, + { + "c": 78437, + "copied_center_extra_groups": 56, + "h": 28, + "invocations": 3276, + "local_group_upper": 729892, + "v": 3276 + } + ], + "wire_bits": 30 + }, + "rows": { + "coefficient": 852, + "contract": "W_complex^D_complex * W_bit^D_bit; one preceding prefix and padding; all temporary copies sequential", + "degree": 2000, + "degree_gap": "6548/25", + "suffix_slope": 8000 + }, + "semantic": { + "B": 9696565176891520488614054257040, + "C0": 2358858462850846165593256368932965330169899180021667007021321420800, + "C1": 1, + "E": 9696565176891520488192506033216, + "induction_gap": 533311084729033626873772984137200, + "literal_charge": 2771683137698171397039558468, + "strict_literal_gap": 9693793493753822316795466474748 + } + }, + "geometry": { + "accepted_profile": { + "blocks": [ + 21, + 17, + 481 + ], + "singletons": 9 + }, + "column_tree": [ + [ + 0, + 26 + ], + [ + 1, + 27 + ], + [ + 2, + 28 + ], + [ + 3, + 29 + ], + [ + 4, + 30 + ], + [ + 5, + 31 + ], + [ + 6, + 32 + ], + [ + 7, + 33 + ], + [ + 8, + 34 + ], + [ + 9, + 35 + ], + [ + 10, + 36 + ], + [ + 11, + 37 + ], + [ + 12, + 38 + ], + [ + 13, + 39 + ], + [ + 14, + 40 + ], + [ + 15, + 41 + ], + [ + 16, + 42 + ], + [ + 17, + 43 + ], + [ + 18, + 44 + ], + [ + 19, + 45 + ], + [ + 20, + 46 + ], + [ + 21, + 47 + ], + [ + 22, + 23 + ], + [ + 0, + 24 + ], + [ + 0, + 25 + ], + [ + 1, + 26 + ], + [ + 2, + 27 + ], + [ + 3, + 28 + ], + [ + 4, + 29 + ], + [ + 5, + 30 + ], + [ + 6, + 31 + ], + [ + 7, + 32 + ], + [ + 8, + 33 + ], + [ + 9, + 34 + ], + [ + 10, + 35 + ], + [ + 11, + 36 + ], + [ + 12, + 37 + ], + [ + 13, + 38 + ], + [ + 14, + 39 + ], + [ + 15, + 40 + ], + [ + 16, + 41 + ], + [ + 17, + 42 + ], + [ + 18, + 43 + ], + [ + 19, + 44 + ], + [ + 20, + 45 + ], + [ + 21, + 46 + ], + [ + 22, + 47 + ] + ], + "dimensions": [ + 23, + 25 + ], + "fallback_profile": { + "blocks": [ + 481 + ], + "singletons": 47 + }, + "inherited": { + "actual_local_and_auxiliary_contractions": true, + "actual_null_corner": true, + "author_witness": { + "nu_denominator": 105625, + "nu_numerators": [ + 1, + 8, + 27, + 64, + 125, + 216, + 343, + 512, + 729, + 1000, + 1331, + 1728, + 2197, + 2744, + 3375, + 4096, + 4913, + 5832, + 6859, + 8000, + 9261, + 10648, + 12167, + 13824, + 15625 + ], + "p": "all ones", + "pivot_values": [ + "-1", + "1081", + "4324/9", + "1081/4", + "4324/25", + "1081/9", + "4324/49", + "1081/16", + "4324/81", + "1081/25", + "4324/121", + "1081/36", + "4324/169", + "1081/49", + "4324/225", + "1081/64", + "4324/289", + "1081/81", + "4324/361", + "1081/100", + "4324/441", + "1081/121", + "142812651751657877942589556478847433551977787425536169375/19268941635246593353904372229207380456680824753881088", + "-3301880224346962861941006006629802656529005188895982595479857959591861547197179585193848574930840744013899375/11019785351154517046629105770544670194180926949645355094282023563638938723955445008552317770143413305344", + "74907043800035918709206033348544416861478577835267509060516462595758002954160059826338653120940771668514812472/60116162482420807682130286875371919099299138623504462366497186337585098720021476289373665451631146909675", + "10940299784531588304345150315393704447900044902431187377875452629639845445581682724600127025820276398750/30226196505888073803577264188652004854088012439298071298271200975120006873557454163131322338706864804567", + "-5831395627680712592570933775404123356087221102691725998080707457029019970438674252017627955200000/622802236364140798653392176212549886737354011381551974831022707159458930937546871107955711994323", + "-14843046800460539712231070321073001452509820092416000/38851899814728176802610554213615671238028162148034359", + "845", + "105625/216", + "105625/343", + "105625/512", + "105625/729", + "845/8", + "105625/1331", + "105625/1728", + "625/13", + "105625/2744", + "845/27", + "105625/4096", + "105625/4913", + "105625/5832", + "105625/6859", + "845/64", + "105625/9261", + "230987404375/5999554", + "-228361250/22253" + ], + "v": "all ones", + "xi_denominator": 4324, + "xi_numerators": [ + 1, + 4, + 9, + 16, + 25, + 36, + 49, + 64, + 81, + 100, + 121, + 144, + 169, + 196, + 225, + 256, + 289, + 324, + 361, + 400, + 441, + 484, + 529 + ] + }, + "both_trees": true, + "columns": [ + [ + 0, + 3 + ], + [ + 1, + 4 + ], + [ + 2, + 5 + ], + [ + 3, + 6 + ], + [ + 4, + 7 + ], + [ + 5, + 8 + ], + [ + 6, + 9 + ], + [ + 7, + 10 + ], + [ + 8, + 11 + ], + [ + 9, + 12 + ], + [ + 10, + 13 + ], + [ + 11, + 14 + ], + [ + 12, + 15 + ], + [ + 13, + 16 + ], + [ + 14, + 17 + ], + [ + 15, + 18 + ], + [ + 16, + 19 + ], + [ + 17, + 20 + ], + [ + 18, + 21 + ], + [ + 19, + 22 + ], + [ + 20, + 23 + ], + [ + 21, + 24 + ], + [ + 22, + 0 + ], + [ + 0, + 1 + ], + [ + 0, + 2 + ], + [ + 1, + 3 + ], + [ + 2, + 4 + ], + [ + 3, + 5 + ], + [ + 4, + 6 + ], + [ + 5, + 7 + ], + [ + 6, + 8 + ], + [ + 7, + 9 + ], + [ + 8, + 10 + ], + [ + 9, + 11 + ], + [ + 10, + 12 + ], + [ + 11, + 13 + ], + [ + 12, + 14 + ], + [ + 13, + 15 + ], + [ + 14, + 16 + ], + [ + 15, + 17 + ], + [ + 16, + 18 + ], + [ + 17, + 19 + ], + [ + 18, + 20 + ], + [ + 19, + 21 + ], + [ + 20, + 22 + ], + [ + 21, + 23 + ], + [ + 22, + 24 + ] + ], + "cuts": [ + { + "pivot": 46, + "row": 0, + "trivial_suffix_bound": 0 + }, + { + "left_rank": 1, + "pivot": 25, + "preceding_right_pivots": 1, + "right_rank": 0, + "row": 1, + "selected": [ + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48 + ] + }, + { + "left_rank": 1, + "pivot": 26, + "preceding_right_pivots": 1, + "right_rank": 0, + "row": 2, + "selected": [ + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48 + ] + }, + { + "left_rank": 1, + "pivot": 27, + "preceding_right_pivots": 1, + "right_rank": 0, + "row": 3, + "selected": [ + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48 + ] + }, + { + "left_rank": 1, + "pivot": 28, + "preceding_right_pivots": 1, + "right_rank": 0, + "row": 4, + "selected": [ + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48 + ] + }, + { + "left_rank": 1, + "pivot": 29, + "preceding_right_pivots": 1, + "right_rank": 0, + "row": 5, + "selected": [ + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48 + ] + }, + { + "left_rank": 1, + "pivot": 30, + "preceding_right_pivots": 1, + "right_rank": 0, + "row": 6, + "selected": [ + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48 + ] + }, + { + "left_rank": 1, + "pivot": 31, + "preceding_right_pivots": 1, + "right_rank": 0, + "row": 7, + "selected": [ + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48 + ] + }, + { + "left_rank": 1, + "pivot": 32, + "preceding_right_pivots": 1, + "right_rank": 0, + "row": 8, + "selected": [ + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48 + ] + }, + { + "left_rank": 1, + "pivot": 33, + "preceding_right_pivots": 1, + "right_rank": 0, + "row": 9, + "selected": [ + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48 + ] + }, + { + "left_rank": 1, + "pivot": 34, + "preceding_right_pivots": 1, + "right_rank": 0, + "row": 10, + "selected": [ + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48 + ] + }, + { + "left_rank": 1, + "pivot": 35, + "preceding_right_pivots": 1, + "right_rank": 0, + "row": 11, + "selected": [ + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48 + ] + }, + { + "left_rank": 1, + "pivot": 36, + "preceding_right_pivots": 1, + "right_rank": 0, + "row": 12, + "selected": [ + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48 + ] + }, + { + "left_rank": 1, + "pivot": 37, + "preceding_right_pivots": 1, + "right_rank": 0, + "row": 13, + "selected": [ + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48 + ] + }, + { + "left_rank": 1, + "pivot": 38, + "preceding_right_pivots": 1, + "right_rank": 0, + "row": 14, + "selected": [ + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48 + ] + }, + { + "left_rank": 1, + "pivot": 39, + "preceding_right_pivots": 1, + "right_rank": 0, + "row": 15, + "selected": [ + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48 + ] + }, + { + "left_rank": 1, + "pivot": 40, + "preceding_right_pivots": 1, + "right_rank": 0, + "row": 16, + "selected": [ + 17, + 18, + 19, + 20, + 21, + 22, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48 + ] + }, + { + "left_rank": 1, + "pivot": 41, + "preceding_right_pivots": 1, + "right_rank": 0, + "row": 17, + "selected": [ + 18, + 19, + 20, + 21, + 22, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48 + ] + }, + { + "left_rank": 1, + "pivot": 42, + "preceding_right_pivots": 1, + "right_rank": 0, + "row": 18, + "selected": [ + 19, + 20, + 21, + 22, + 42, + 43, + 44, + 45, + 46, + 47, + 48 + ] + }, + { + "left_rank": 1, + "pivot": 43, + "preceding_right_pivots": 1, + "right_rank": 0, + "row": 19, + "selected": [ + 20, + 21, + 22, + 43, + 44, + 45, + 46, + 47, + 48 + ] + }, + { + "left_rank": 1, + "pivot": 44, + "preceding_right_pivots": 1, + "right_rank": 0, + "row": 20, + "selected": [ + 21, + 22, + 44, + 45, + 46, + 47, + 48 + ] + }, + { + "left_rank": 1, + "pivot": 45, + "preceding_right_pivots": 1, + "right_rank": 0, + "row": 21, + "selected": [ + 22, + 45, + 46, + 47, + 48 + ] + }, + { + "pivot": 24, + "row": 22, + "trivial_suffix_bound": 22 + }, + { + "pivot": 23, + "row": 23, + "trivial_suffix_bound": 23 + }, + { + "pivot": 22, + "row": 24, + "trivial_suffix_bound": 24 + }, + { + "pivot": 21, + "row": 25, + "trivial_suffix_bound": 25 + }, + { + "pivot": 20, + "row": 26, + "trivial_suffix_bound": 26 + }, + { + "pivot": 19, + "row": 27, + "trivial_suffix_bound": 27 + }, + { + "left_rank": 22, + "pivot": 2, + "preceding_right_pivots": 28, + "right_rank": 6, + "row": 28, + "selected": [ + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47 + ] + }, + { + "left_rank": 21, + "pivot": 3, + "preceding_right_pivots": 28, + "right_rank": 7, + "row": 29, + "selected": [ + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47 + ] + }, + { + "left_rank": 20, + "pivot": 4, + "preceding_right_pivots": 28, + "right_rank": 8, + "row": 30, + "selected": [ + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47 + ] + }, + { + "left_rank": 19, + "pivot": 5, + "preceding_right_pivots": 28, + "right_rank": 9, + "row": 31, + "selected": [ + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47 + ] + }, + { + "left_rank": 18, + "pivot": 6, + "preceding_right_pivots": 28, + "right_rank": 10, + "row": 32, + "selected": [ + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47 + ] + }, + { + "left_rank": 17, + "pivot": 7, + "preceding_right_pivots": 28, + "right_rank": 11, + "row": 33, + "selected": [ + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47 + ] + }, + { + "left_rank": 16, + "pivot": 8, + "preceding_right_pivots": 28, + "right_rank": 12, + "row": 34, + "selected": [ + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47 + ] + }, + { + "left_rank": 15, + "pivot": 9, + "preceding_right_pivots": 28, + "right_rank": 13, + "row": 35, + "selected": [ + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47 + ] + }, + { + "left_rank": 14, + "pivot": 10, + "preceding_right_pivots": 28, + "right_rank": 14, + "row": 36, + "selected": [ + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47 + ] + }, + { + "left_rank": 13, + "pivot": 11, + "preceding_right_pivots": 28, + "right_rank": 15, + "row": 37, + "selected": [ + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47 + ] + }, + { + "left_rank": 12, + "pivot": 12, + "preceding_right_pivots": 28, + "right_rank": 16, + "row": 38, + "selected": [ + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47 + ] + }, + { + "left_rank": 11, + "pivot": 13, + "preceding_right_pivots": 28, + "right_rank": 17, + "row": 39, + "selected": [ + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47 + ] + }, + { + "left_rank": 10, + "pivot": 14, + "preceding_right_pivots": 28, + "right_rank": 18, + "row": 40, + "selected": [ + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47 + ] + }, + { + "left_rank": 9, + "pivot": 15, + "preceding_right_pivots": 28, + "right_rank": 19, + "row": 41, + "selected": [ + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 41, + 42, + 43, + 44, + 45, + 46, + 47 + ] + }, + { + "left_rank": 8, + "pivot": 16, + "preceding_right_pivots": 28, + "right_rank": 20, + "row": 42, + "selected": [ + 17, + 18, + 19, + 20, + 21, + 22, + 42, + 43, + 44, + 45, + 46, + 47 + ] + }, + { + "left_rank": 7, + "pivot": 17, + "preceding_right_pivots": 28, + "right_rank": 21, + "row": 43, + "selected": [ + 18, + 19, + 20, + 21, + 22, + 43, + 44, + 45, + 46, + 47 + ] + }, + { + "left_rank": 6, + "pivot": 18, + "preceding_right_pivots": 28, + "right_rank": 22, + "row": 44, + "selected": [ + 19, + 20, + 21, + 22, + 44, + 45, + 46, + 47 + ] + }, + { + "pivot": 1, + "row": 45, + "trivial_suffix_bound": 45 + }, + { + "pivot": 0, + "row": 46, + "trivial_suffix_bound": 46 + } + ], + "d": 47, + "dimensions": [ + 23, + 25 + ], + "m": 575, + "negative_controls": [ + "incorrect_unshifted_auxiliary_formula", + "old_25_23_data_residue_offset" + ], + "permutations": [ + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22 + ], + [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 0 + ], + [ + 2, + 3, + 1, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 0 + ], + [ + 3, + 4, + 2, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 0, + 1 + ], + [ + 4, + 5, + 0, + 3, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 1, + 2 + ], + [ + 5, + 6, + 0, + 1, + 4, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 2, + 3 + ], + [ + 6, + 7, + 0, + 1, + 2, + 5, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 3, + 4 + ], + [ + 7, + 8, + 0, + 1, + 2, + 3, + 6, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 4, + 5 + ], + [ + 8, + 9, + 0, + 1, + 2, + 3, + 4, + 7, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 5, + 6 + ], + [ + 9, + 10, + 0, + 1, + 2, + 3, + 4, + 5, + 8, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 6, + 7 + ], + [ + 10, + 11, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 9, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 7, + 8 + ], + [ + 11, + 12, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 10, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 8, + 9 + ], + [ + 12, + 13, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 11, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 9, + 10 + ], + [ + 13, + 14, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 12, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 10, + 11 + ], + [ + 14, + 15, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 13, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 11, + 12 + ], + [ + 15, + 16, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 14, + 17, + 18, + 19, + 20, + 21, + 22, + 12, + 13 + ], + [ + 16, + 17, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 15, + 18, + 19, + 20, + 21, + 22, + 13, + 14 + ], + [ + 17, + 18, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 16, + 19, + 20, + 21, + 22, + 14, + 15 + ], + [ + 18, + 19, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 17, + 20, + 21, + 22, + 15, + 16 + ], + [ + 19, + 20, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 18, + 21, + 22, + 16, + 17 + ], + [ + 20, + 21, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 19, + 22, + 17, + 18 + ], + [ + 21, + 22, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 20, + 18, + 19 + ], + [ + 22, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 21, + 19, + 20 + ], + [ + 22, + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21 + ], + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22 + ] + ], + "physical_blocks": [ + { + "columns": [ + 553, + 573 + ], + "rows": [ + 1, + 21 + ] + }, + { + "columns": [ + 530, + 546 + ], + "rows": [ + 28, + 44 + ] + }, + { + "columns": [ + 47, + 527 + ], + "rows": [ + 47, + 527 + ] + } + ], + "pivots": [ + 46, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 24, + 23, + 22, + 21, + 20, + 19, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 1, + 0 + ], + "profile": [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 21, + 17, + 481 + ], + "rank": 528, + "rational_controls": [ + { + "degree": 1, + "left_weights": [ + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24 + ], + "ordered_prefix_determinants": [ + "-136/22425", + "-136/1681875", + "-1496/1135265625", + "-1496/58946484375", + "-1496/2652591796875", + "-25432/1790499462890625", + "-483208/1208587137451171875", + "-3382456/271932105926513671875", + "-3382456/7980616152191162109375", + "-3382456/215476636109161376953125", + "-3382456/5386915902729034423828125", + "-98091224/3636168234342098236083984375", + "-3040827944/2454413558180916309356689453125", + "-33449107384/552243050590706169605255126953125", + "-234143751688/74552811829745332896709442138671875", + "-8663318812456/50323147985078099705278873443603515625", + "-112623144561928/11322708296642572433687746524810791015625", + "-4617548927039048/7642828100233736392739228904247283935546875", + "-198554603862679064/5158908967657772065098979510366916656494140625", + "-198554603862679064/77383634514866580976484692655503749847412109375", + "-9332066381545916008/52233953297534942159127167542465031147003173828125", + "-457271252695749884392/35257918475836085957410838091163896024227142333984375", + "-774427803494826766413381910805757663636935962869953/934698078008949744645355209409485648384168738776353571529398323036730289459228515625", + "22488141150263136890277253182027357481046933636363407735902104533297154704/30739301928905317568582693128157367185453821539556669670738239185018288815279232907414552755653858184814453125", + "43781442323389343420444995260351594325182959245296311928874937920867383808/340409306546025553815045379456261214387062690382497934501879019122980309472907060715442639775574207305908203125", + "5223914806424997682784519984030088376145366436712067460675070411721763904/256160849407544313071522442734644726545448512829638913922818659875152406793993607561787939630448818206787109375", + "-2611659069095967460510300272690333032678968481792/134561904785955098423573914776839656121083847689766160464250788209028542041778564453125", + "8147026035721446555641344/421291420783618973406213148627626540264827781356871128082275390625", + "2962554922080526020233216/9689702678023236388342902418435410426091038971208035945892333984375", + "2962554922080526020233216/502184990793017597886518156006112537682878246414475142955780029296875", + "100726867350737884687929344/750766561235561308840344643229138243835902978389640338718891143798828125", + "788039609273419921382035456/224479201809432831343263048325512334906934990538502461276948451995849609375", + "2322643058911132399862841344/22373093780340138857211883816442729379057854057004078640602529048919677734375", + "331806151273018914266120192/96950073048140601714584829871251827309250700913684340775944292545318603515625", + "663612302546037828532240384/5333805218816503343929599000196790531245736561467257692129351198673248291015625", + "7299735328006416113854644224/1476673852246420833180509352832259600780069659146953749950625933706760406494140625", + "846769298048744269207138729984/3973729336395118462088750668471610585699167452764452541117134387604892253875732421875", + "905167180672795598117975883776/91395774737087724628041265374847043471080851413582408445694090914912521839141845703125", + "4496636962051952326134460841984/9109112215463076554594779449026421999284391524220380041754177727852948009967803955078125", + "2861496248578515116631020535808/108944982096938395592953562210356007111441322629675745299379965625121258199214935302734375", + "242000825594068707006509165314048/162872748234922901411465575504482230631604777331365239222573048609556281007826328277587890625", + "111189568516193730246233940819968/1248691069801075577487902745534363768175636626207133500706393372673264821060001850128173828125", + "9117544618327885880191183147237376/1617887396105593589898492657297357322299566522022375972415250346526993453153409063816070556640625", + "181683754955460555222346259299827712/483748331435572483379649304531909839367570390084690415752159853611571042492869310081005096435546875", + "16900814414461446997427559004635136/642847782663271877913400631355737964315126873934766374710647983243821074246079660952091217041015625", + "7911019513152166679646942512807936/385708669597963126748040378813442778589076124360859824826388789946292644547647796571254730224609375", + "-494438719572010417477933907050496/642847782663271877913400631355737964315126873934766374710647983243821074246079660952091217041015625" + ], + "pivot_values": [ + "-136/22425", + "1/75", + "11/675", + "13/675", + "1/45", + "17/675", + "19/675", + "7/225", + "23/675", + "1/27", + "1/25", + "29/675", + "31/675", + "11/225", + "7/135", + "37/675", + "13/225", + "41/675", + "43/675", + "1/15", + "47/675", + "49/675", + "90780708748082000078232473828014673925846401/1421023343629369829514948334235558745343301400", + "-18222683405075170949504376828173428931220504447233253567507707755072724400/20637750563429036160721040917538741498726591150217622165190926435667742044567", + "1507779263688153408612263867384557457627474361764031150611764443703341024/8576472198888619808919513649778290671980909639378391470707562825836542419", + "498070958903403796923651618375317737393961914724779391180435603668624811/3141206799350319601275549723717828036723904920341731563774509257715293800", + "-279771447951617034403030589935947704264107576270394945571233421944416/293962792978597558680101289617539486952958045283167061487567737754451", + "-7203444964173917251700002130749899185/7229663935460457778827016360402446746516", + "4/253", + "75/3887", + "34/1495", + "133/5083", + "168/5681", + "3/91", + "250/6877", + "297/7475", + "116/2691", + "31/667", + "462/9269", + "175/3289", + "592/10465", + "51/851", + "246/3887", + "817/12259", + "900/12857", + "110/141", + "-3/80" + ], + "pivots": [ + 46, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 24, + 23, + 22, + 21, + 20, + 19, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 1, + 0 + ], + "right_weights": [ + 3, + 5, + 7, + 9, + 11, + 13, + 15, + 17, + 19, + 21, + 23, + 25, + 27, + 29, + 31, + 33, + 35, + 37, + 39, + 41, + 43, + 45, + 47, + 49, + 51 + ], + "widths": [ + 1, + 21, + 1, + 1, + 1, + 1, + 1, + 1, + 17, + 1, + 1 + ] + }, + { + "degree": 2, + "left_weights": [ + 2, + 5, + 10, + 17, + 26, + 37, + 50, + 65, + 82, + 101, + 122, + 145, + 170, + 197, + 226, + 257, + 290, + 325, + 362, + 401, + 442, + 485, + 530 + ], + "ordered_prefix_determinants": [ + "-9434/672175", + "-481134/14031653125", + "-39934122/292910758984375", + "-4911897006/6114512093798828125", + "-839934388026/127640439958050537109375", + "-190665106081902/2664494184124304962158203125", + "-55483545869833482/55621316093594866085052490234375", + "-20140527150749553966/1161094973453792829525470733642578125", + "-8922253527782052406938/24237857570847925316344201564788818359375", + "-4737716623252269828084078/505965276791450440978685207664966583251953125", + "-2970548322779173182208716906/10562025153021527955430053710006177425384521484375", + "-2171470823951575596194572058286/220482275069324396069602371196378953754901885986328125", + "-1830549904591178227592024245135098/4602567492072146767952949498724410659633576869964599609375", + "-1762819558121304633171119348065099374/96078596397006063781017820785872072519850917160511016845703125", + "-1923236137910343354789691208739023417034/2005640699787501581428747008905079513851887895725667476654052734375", + "-2359810741215991296326951113122781732700718/41867749608064095512325093810893534851658159823273308575153350830078125", + "-3235300526207124067264249976091333755532684378/873989273068337993819786333302402540028364086310830316506326198577880859375", + "-4927362701413449954443452713587101309676278307694/18244526075301555620988039707687653023092100301738582857069559395313262939453125", + "-8292751426478836273328330916967091504185176391849002/380854481821919973588125328897979756857047593798792917141327052377164363861083984375", + "-15349882890412325941930740527306086374246761501312502702/7950337308032579448652116240745327424390868520549802145325202218373306095600128173828125", + "-31114212618865784684293611048849437080598185563160442976954/165963291305180095990612926525558709984159380366477119783663596308542764745652675628662109375", + "-68793524100312249936973174029006105385202588280147739422045294/3464483705995634503804044841221038070919327065150209875483977572940830214065499603748321533203125", + "-320939889277029603849885218613819697637636425903389849074463084765835708779339849991808742586501/3072430179236252823264716186856353699802821337240763732623601650174243307843734253380457949016146823595363457570783793926239013671875", + "1245875627001486003524925840693082579900506702795220917872585680790449852841448300695325314605332716089358256276075666345371933435627513884/330392547940061126524090579005410197690598250921499159106894411964503315752339204942691190056398718416654087768414819695413626236548660752671835449945092477719299495220184326171875", + "-191122033997905806909528288458719256707212395642607937861919035317221617214725016921351463139805611093698337401145528199270922701922964576/594706586292110027743363042209738355843076851658698486392409941536105968354210568896844142101517693149977357983146675451744527225787589354809303809901166459894739091396331787109375", + "-33866419223477871432738970551480649008242390490093325529817983170572951863931838751688060529213753137420036470368457792949569488757290928/66078509588012225304818115801082039538119650184299831821378882392900663150467840988538238011279743683330817553682963939082725247309732150534367089989018495543859899044036865234375", + "-2451948467107434017727241549738357444604312885323666172115751274420393797285211501893659384900192544/6057064308553699886924805654804969362527607504292870424430510150921615686976776716332276924490573394820047692377329440205357968807220458984375", + "2201445419163520268278455908505270834917331925591970045434279936/4344364695505523672609278644785573695044342470968858137422975269751647398042138092932873405516147613525390625", + "2174921980378417614443775716836532632087002625283633056935071744/1258996888757500760322168951258859256823850448086775088225178233174027415952611619331946712918579578399658203125", + "17134141455176314377203403818004879028392727999185694570488492032/1824286491809618601706822810374087063137759299277737102838283259869165725715334236411990787019021809101104736328125", + "5322405414128979339697604701782357685556520034273366808159109472256/71371560419067708554576028810265408171138557065642908674342155975861370687161021331146315560545190237462520599365234375", + "84150277670964347357597811782805646402917843185053363323713849761792/103417391047229109695580665746074576439979769188116574669121784009023126125696319908831011247229980654083192348480224609375", + "209941929859519299593182169602463571438207402585390865199368573632512/17982215955292197593867566159927447351383682266429710003466895803488941170736076105747536235668349036131985485553741455078125", + "9992194826950178895513521609426344693492863070159223080026145583054848/46901215654593109764325386058322768181878920087301969631042357634659856361513833699010724009870187956039444543421268463134765625", + "109124692037889312633170242768407800512682779985170025420240389008621568/22653287161168472016169161466169897031847518402166851331793458737540710622611181676622179696767300782767051714472472667694091796875", + "39042595325895008480908316179632546796986793266219560450777192738694791168/295421517868798043562862034680321627192323487482657908217918495396268407229472420244829845425542369508065121408435516059398651123046875", + "16659792996908940891599834705894687983008977019464080574742639247953487396864/3852592014526995286103283794266074340215090600261341781069875098462736298679549832412826014194498040754677248287407564930617809295654296875", + "185719087731615539433169703171458019662845627539825981673840994844833062649856/1116481165809923233912731643578308343794333255955736848154049803534500979357333541433236978913565532210705466553690712316893041133880615234375", + "2404434310205043887750431957785637991222179334483583349926809748204635878719488/323556241851715753187909630308993758031597777575972538595043633064298383817755260307352076489151291234662444207259568429435603320598602294921875", + "4829699560648966987500346629822372117190741474977131949997377932265212855191994368/12658490849964675411970588466578762795470199852104773627453892056374545670102039049004535288485065966973698804720616095664809108711779117584228515625", + "409191979091683423027137525555454761026956001373085439657248058470213276862343544832/18342153241598814671945382688072627290636319585699816986180689589686716675977854582007571633014860586144889568040172722618308398523367941379547119140625", + "117504128978824269807125367332426910092554903191363109541085885621682345120306569674752/79733340141230047378946578545051710832396081239037104438927457646368157390475733867986913888715598967971834952270630825221786608381080441176891326904296875", + "22712493937014142339480551855454264061522417545964702228013743152091221605814355635994624/207960497756356209573768466161203872193055459087656575797610595033257428105838809074483468804548025228264139922512259318343463831979534006677567958831787109375", + "36253494918503860818960749547346891617571239037583841836048200658393801525761456698032128/4017796816652801968965206766234458810769831469573525044409836696042533511004805791319020617303867847410063183302936850030395721233844597009010612964630126953125", + "43301406973409151493893899756139666472465275529414446039832672779972669229865905878782181376/52396088285969190477275261438463577351249372194708340104148680353090679517013672324591347870259740598074633973453599461246390600610567389594507403671741485595703125", + "554988883545755027968047998507518444029367563360357849952925447551814126412537914860601344/5346539621017264334415843003924854831760140019868197969811089831948028522144252278019525292883646999803534078923836679719019449041894631591276265680789947509765625", + "-32310996644787107792660328680232238179791947181938641949314152768427534756894330659692544/87326813809948650795458769064105962252082286991180566840247800588484465861689453874318913117099567663457723289089332435410651001017612315990845672786235809326171875" + ], + "pivot_values": [ + "-9434/672175", + "51/20875", + "83/20875", + "123/20875", + "171/20875", + "227/20875", + "291/20875", + "363/20875", + "443/20875", + "531/20875", + "627/20875", + "731/20875", + "843/20875", + "963/20875", + "1091/20875", + "1227/20875", + "1371/20875", + "1523/20875", + "1683/20875", + "1851/20875", + "2027/20875", + "2211/20875", + "7364264693087061471645133239325113464318947332450318677985803365344435086883928283287/1399899145438201838550668546301643374764987111921828690592232299085948881442256498995830", + "-1210951777731703669691036352292953792524111331980891992800227130351123452472151452796669369975246604029157358069355455022522387772275100/33544712846985983089282237094201319680739975881928986568756767766484387589009805209852654469240424774578668316635040936193829465841865738629", + "-826652396184713697705572181914875677799361572848650250267815896700785541586180869036987297317498317879318068344055052765012641444303480/9699723739630946394225201181866559878118131769166944862329819314112498854301933136901321653501725298273550438135537194730404326055923551", + "1243707045322602512301081865587769476211813321843539571098949894460226246880045655012374097256821579930715578414980577693682368441991/779860751117654431797709605580071394150341106460990802139448959151684473194510253808478582374998413093696290890617974306615699475758", + "12643111167595480352640007527254011647390963772039223157364200341282508663461620715678931690444819848574010438266842033543946234/16007143716264495569984450694206590681902947627881894681891834877282600961170259533989395951668939340395582563226129421904093703", + "-36805546261487763107273876367617172536163293857447402763620390901622045709208640/29402264143559069033185372711699522165505155634755438669527959728477744344281439641", + "410/120267", + "323/59409", + "5902/743337", + "3589/328923", + "6050/421659", + "28795/1577961", + "4838/213969", + "21109/769419", + "89182/2725569", + "40745/1059219", + "18190/407169", + "214927/4186161", + "92434/1580859", + "117449/1777923", + "441670/5959737", + "60775/735609", + "223354/2438667", + "296891/2363680", + "-51/14308" + ], + "pivots": [ + 46, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 24, + 23, + 22, + 21, + 20, + 19, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 1, + 0 + ], + "right_weights": [ + 3, + 11, + 27, + 51, + 83, + 123, + 171, + 227, + 291, + 363, + 443, + 531, + 627, + 731, + 843, + 963, + 1091, + 1227, + 1371, + 1523, + 1683, + 1851, + 2027, + 2211, + 2403 + ], + "widths": [ + 1, + 21, + 1, + 1, + 1, + 1, + 1, + 1, + 17, + 1, + 1 + ] + } + ], + "rows": [ + [ + 0, + 0 + ], + [ + 1, + 1 + ], + [ + 2, + 2 + ], + [ + 3, + 3 + ], + [ + 4, + 4 + ], + [ + 5, + 5 + ], + [ + 6, + 6 + ], + [ + 7, + 7 + ], + [ + 8, + 8 + ], + [ + 9, + 9 + ], + [ + 10, + 10 + ], + [ + 11, + 11 + ], + [ + 12, + 12 + ], + [ + 13, + 13 + ], + [ + 14, + 14 + ], + [ + 15, + 15 + ], + [ + 16, + 16 + ], + [ + 17, + 17 + ], + [ + 18, + 18 + ], + [ + 19, + 19 + ], + [ + 20, + 20 + ], + [ + 21, + 21 + ], + [ + 22, + 22 + ], + [ + 22, + 23 + ], + [ + 0, + 24 + ], + [ + 1, + 0 + ], + [ + 2, + 1 + ], + [ + 3, + 2 + ], + [ + 4, + 3 + ], + [ + 5, + 4 + ], + [ + 6, + 5 + ], + [ + 7, + 6 + ], + [ + 8, + 7 + ], + [ + 9, + 8 + ], + [ + 10, + 9 + ], + [ + 11, + 10 + ], + [ + 12, + 11 + ], + [ + 13, + 12 + ], + [ + 14, + 13 + ], + [ + 15, + 14 + ], + [ + 16, + 15 + ], + [ + 17, + 16 + ], + [ + 18, + 17 + ], + [ + 19, + 18 + ], + [ + 20, + 19 + ], + [ + 21, + 20 + ], + [ + 22, + 21 + ] + ], + "source_sha256": { + "certify_reversed.py": "77311474169f64a154c2435bcde9303fbc472cbd9ac4d2b39c76e7560fa9e3a3", + "independent_controls.py": "f0450c9a8127b538df6cc36ed744ad707b9e72756af9ce5290023272999c5c65" + }, + "status": "PASS EXACT REVERSED23/25 GEOMETRY; PR36 PHYSICAL INTEGRATION SEPARATE" + }, + "line_coordinates": { + "23": { + "dual": [ + "-5/72", + "31/72" + ], + "primal": [ + "3", + "4" + ] + }, + "25": { + "dual": [ + "-5/78", + "17/39" + ], + "primal": [ + "3", + "4" + ] + } + }, + "modular": { + "dimensions": [ + 23, + 25 + ], + "exact_recovery": [ + { + "ordered_zero_checks": 346, + "pair": [ + 0, + 9, + 10, + 14, + 18, + 20 + ], + "pivots": [ + "-1", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "18/31", + "18/31", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "1257473477600655419/1257360043121049600", + "697637898272342204364754225328501/898378192091765621530873036800", + "4862910615710407729752452/413821272486424062729765", + "-211879701118736765516260639861416/69965631010509871166615364966895", + "-1040817578056012397961768075264/140132077459481987775304655993", + "348004811934793728/2909385858910392337", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "39/68", + "-26/5", + "-26/5", + "-26/5", + "39/68", + "-26/5", + "39/68", + "-68016/1925", + "936/545" + ], + "primary_failed_row": 26 + }, + { + "ordered_zero_checks": 346, + "pair": [ + 0, + 11, + 12, + 6, + 8, + 10 + ], + "pivots": [ + "-1", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "18/31", + "18/31", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-30425585565647987/8112000278200320", + "-6915016711890063397419754697651/61258776880172525541811814400", + "58034460589224410256212/377247763587426343740975", + "-24460859725227921591208225587816/99865714290552512474992173653", + "-5616114623039263977852817637376/566223604750646333129820036755", + "4872067367087112192/31397326122812625191", + "-26/5", + "-26/5", + "39/68", + "-26/5", + "39/68", + "-26/5", + "39/68", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-68016/1925", + "936/545" + ], + "primary_failed_row": 25 + }, + { + "ordered_zero_checks": 346, + "pair": [ + 0, + 15, + 18, + 6, + 13, + 18 + ], + "pivots": [ + "-1", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "18/31", + "-24/5", + "-24/5", + "18/31", + "-24/5", + "-24/5", + "-24/5", + "4563332038527041/1849058886942720", + "1030267061084400635268816075773/88677071305420843701963325440", + "141023493761411438700418729418/901812840135500013365092325", + "-21321669502882733419935472733424/4583263547245871757763608706085", + "-1116902841526537767162419871744/148067149325574537638440782871", + "11941341585997824/76521229264169315", + "-26/5", + "-26/5", + "39/68", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "39/68", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "39/68", + "-26/5", + "-26/5", + "-68016/1925", + "936/545" + ], + "primary_failed_row": 25 + }, + { + "ordered_zero_checks": 346, + "pair": [ + 1, + 15, + 17, + 12, + 13, + 18 + ], + "pivots": [ + "-1", + "18/31", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "18/31", + "-24/5", + "18/31", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "180266839724041558033/214729419128832000", + "7610766866275211859845587710009457/91225004199975729599379229900800", + "180511342085017711541659444495092/17320816718878497632784678447905", + "-131823672742917787774579438372/47037560476604573572456599045", + "-1951065151249491660685757644800/1351192645614907324689439243313", + "37649224820588544/320811225178453325", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "39/68", + "39/68", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "39/68", + "-26/5", + "-26/5", + "-7488/1315", + "-156/25" + ], + "primary_failed_row": 24 + }, + { + "ordered_zero_checks": 346, + "pair": [ + 2, + 11, + 18, + 4, + 7, + 22 + ], + "pivots": [ + "-1", + "-24/5", + "18/31", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "18/31", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "18/31", + "-24/5", + "-24/5", + "-24/5", + "29673673201714633/298235304345600", + "-23913591558588697625337951705601/720793055432462852241122918400", + "127561257323707299126849029250724/9197535214841806778976135271385", + "-13319307909562049233127667637376/2453101102378986521670173639437", + "23943650449470601604575002624/40021958862866734474542270545", + "-25847059709952/194420976488309", + "39/68", + "-26/5", + "-26/5", + "39/68", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "7098/425", + "144/35" + ], + "primary_failed_row": 25 + }, + { + "ordered_zero_checks": 346, + "pair": [ + 4, + 7, + 22, + 6, + 11, + 18 + ], + "pivots": [ + "-1", + "-24/5", + "-24/5", + "-24/5", + "18/31", + "-24/5", + "-24/5", + "18/31", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "4563332038527041/1849058886942720", + "1030267061084400635268816075773/88677071305420843701963325440", + "141023493761411438700418729418/901812840135500013365092325", + "-21321669502882733419935472733424/4583263547245871757763608706085", + "-1116902841526537767162419871744/148067149325574537638440782871", + "11941341585997824/76521229264169315", + "-26/5", + "-26/5", + "39/68", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "39/68", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "39/68", + "-26/5", + "-26/5", + "-68016/1925", + "936/545" + ], + "primary_failed_row": 25 + }, + { + "ordered_zero_checks": 346, + "pair": [ + 4, + 11, + 20, + 2, + 17, + 20 + ], + "pivots": [ + "-1", + "-24/5", + "-24/5", + "-24/5", + "18/31", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "18/31", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "18/31", + "-24/5", + "29673673201714633/298235304345600", + "-23913591558588697625337951705601/720793055432462852241122918400", + "127561257323707299126849029250724/9197535214841806778976135271385", + "-13319307909562049233127667637376/2453101102378986521670173639437", + "23943650449470601604575002624/40021958862866734474542270545", + "-25847059709952/194420976488309", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "39/68", + "-26/5", + "-26/5", + "39/68", + "7098/425", + "144/35" + ], + "primary_failed_row": 25 + }, + { + "ordered_zero_checks": 346, + "pair": [ + 5, + 7, + 21, + 6, + 11, + 12 + ], + "pivots": [ + "-1", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "18/31", + "-24/5", + "18/31", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "18/31", + "180266839724041558033/214729419128832000", + "7610766866275211859845587710009457/91225004199975729599379229900800", + "180511342085017711541659444495092/17320816718878497632784678447905", + "-131823672742917787774579438372/47037560476604573572456599045", + "-1951065151249491660685757644800/1351192645614907324689439243313", + "37649224820588544/320811225178453325", + "-26/5", + "-26/5", + "39/68", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "39/68", + "39/68", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-7488/1315", + "-156/25" + ], + "primary_failed_row": 24 + }, + { + "ordered_zero_checks": 346, + "pair": [ + 10, + 11, + 22, + 14, + 16, + 18 + ], + "pivots": [ + "-1", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "18/31", + "18/31", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-30425585565647987/8112000278200320", + "-6915016711890063397419754697651/61258776880172525541811814400", + "58034460589224410256212/377247763587426343740975", + "-24460859725227921591208225587816/99865714290552512474992173653", + "-5616114623039263977852817637376/566223604750646333129820036755", + "4872067367087112192/31397326122812625191", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "39/68", + "-26/5", + "39/68", + "-26/5", + "39/68", + "-26/5", + "-26/5", + "-68016/1925", + "936/545" + ], + "primary_failed_row": 25 + }, + { + "ordered_zero_checks": 346, + "pair": [ + 12, + 13, + 22, + 4, + 6, + 10 + ], + "pivots": [ + "-1", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "18/31", + "18/31", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "-24/5", + "1257473477600655419/1257360043121049600", + "697637898272342204364754225328501/898378192091765621530873036800", + "4862910615710407729752452/413821272486424062729765", + "-211879701118736765516260639861416/69965631010509871166615364966895", + "-1040817578056012397961768075264/140132077459481987775304655993", + "348004811934793728/2909385858910392337", + "39/68", + "-26/5", + "39/68", + "-26/5", + "-26/5", + "-26/5", + "39/68", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-26/5", + "-68016/1925", + "936/545" + ], + "primary_failed_row": 26 + } + ], + "fallback": 0, + "fallback_pairs": [ + [ + 0, + 9, + 10, + 14, + 18, + 20, + 26 + ], + [ + 0, + 11, + 12, + 6, + 8, + 10, + 25 + ], + [ + 0, + 15, + 18, + 6, + 13, + 18, + 25 + ], + [ + 1, + 15, + 17, + 12, + 13, + 18, + 24 + ], + [ + 2, + 11, + 18, + 4, + 7, + 22, + 25 + ], + [ + 4, + 7, + 22, + 6, + 11, + 18, + 25 + ], + [ + 4, + 11, + 20, + 2, + 17, + 20, + 25 + ], + [ + 5, + 7, + 21, + 6, + 11, + 12, + 24 + ], + [ + 10, + 11, + 22, + 14, + 16, + 18, + 25 + ], + [ + 12, + 13, + 22, + 4, + 6, + 10, + 26 + ] + ], + "good": 4073300, + "nonzero_pivots": 191444880, + "ordered_zero_checks": 1409360440, + "pairs": 4073300, + "primary_fallback": 10, + "primary_good": 4073290, + "prime": 1000003, + "records": [ + [ + 0, + 1, + 2, + 2300, + 428310 + ], + [ + 0, + 1, + 3, + 2300, + 428310 + ], + [ + 0, + 1, + 4, + 2300, + 428310 + ], + [ + 0, + 1, + 5, + 2300, + 428310 + ], + [ + 0, + 1, + 6, + 2300, + 428310 + ], + [ + 0, + 1, + 7, + 2300, + 428310 + ], + [ + 0, + 1, + 8, + 2300, + 428310 + ], + [ + 0, + 1, + 9, + 2300, + 428310 + ], + [ + 0, + 1, + 10, + 2300, + 428310 + ], + [ + 0, + 1, + 11, + 2300, + 428310 + ], + [ + 0, + 1, + 12, + 2300, + 428310 + ], + [ + 0, + 1, + 13, + 2300, + 428310 + ], + [ + 0, + 1, + 14, + 2300, + 428310 + ], + [ + 0, + 1, + 15, + 2300, + 428310 + ], + [ + 0, + 1, + 16, + 2300, + 428310 + ], + [ + 0, + 1, + 17, + 2300, + 428310 + ], + [ + 0, + 1, + 18, + 2300, + 428310 + ], + [ + 0, + 1, + 19, + 2300, + 428310 + ], + [ + 0, + 1, + 20, + 2300, + 428310 + ], + [ + 0, + 1, + 21, + 2300, + 428310 + ], + [ + 0, + 1, + 22, + 2300, + 428310 + ], + [ + 0, + 2, + 3, + 2300, + 428310 + ], + [ + 0, + 2, + 4, + 2300, + 428310 + ], + [ + 0, + 2, + 5, + 2300, + 428310 + ], + [ + 0, + 2, + 6, + 2300, + 428310 + ], + [ + 0, + 2, + 7, + 2300, + 428310 + ], + [ + 0, + 2, + 8, + 2300, + 428310 + ], + [ + 0, + 2, + 9, + 2300, + 428310 + ], + [ + 0, + 2, + 10, + 2300, + 428310 + ], + [ + 0, + 2, + 11, + 2300, + 428310 + ], + [ + 0, + 2, + 12, + 2300, + 428310 + ], + [ + 0, + 2, + 13, + 2300, + 428310 + ], + [ + 0, + 2, + 14, + 2300, + 428310 + ], + [ + 0, + 2, + 15, + 2300, + 428310 + ], + [ + 0, + 2, + 16, + 2300, + 428310 + ], + [ + 0, + 2, + 17, + 2300, + 428310 + ], + [ + 0, + 2, + 18, + 2300, + 428310 + ], + [ + 0, + 2, + 19, + 2300, + 428310 + ], + [ + 0, + 2, + 20, + 2300, + 428310 + ], + [ + 0, + 2, + 21, + 2300, + 428310 + ], + [ + 0, + 2, + 22, + 2300, + 428310 + ], + [ + 0, + 3, + 4, + 2300, + 428310 + ], + [ + 0, + 3, + 5, + 2300, + 428310 + ], + [ + 0, + 3, + 6, + 2300, + 428310 + ], + [ + 0, + 3, + 7, + 2300, + 428310 + ], + [ + 0, + 3, + 8, + 2300, + 428310 + ], + [ + 0, + 3, + 9, + 2300, + 428310 + ], + [ + 0, + 3, + 10, + 2300, + 428310 + ], + [ + 0, + 3, + 11, + 2300, + 428310 + ], + [ + 0, + 3, + 12, + 2300, + 428310 + ], + [ + 0, + 3, + 13, + 2300, + 428310 + ], + [ + 0, + 3, + 14, + 2300, + 428310 + ], + [ + 0, + 3, + 15, + 2300, + 428310 + ], + [ + 0, + 3, + 16, + 2300, + 428310 + ], + [ + 0, + 3, + 17, + 2300, + 428310 + ], + [ + 0, + 3, + 18, + 2300, + 428310 + ], + [ + 0, + 3, + 19, + 2300, + 428310 + ], + [ + 0, + 3, + 20, + 2300, + 428310 + ], + [ + 0, + 3, + 21, + 2300, + 428310 + ], + [ + 0, + 3, + 22, + 2300, + 428310 + ], + [ + 0, + 4, + 5, + 2300, + 428310 + ], + [ + 0, + 4, + 6, + 2300, + 428310 + ], + [ + 0, + 4, + 7, + 2300, + 428310 + ], + [ + 0, + 4, + 8, + 2300, + 428310 + ], + [ + 0, + 4, + 9, + 2300, + 428310 + ], + [ + 0, + 4, + 10, + 2300, + 428310 + ], + [ + 0, + 4, + 11, + 2300, + 428310 + ], + [ + 0, + 4, + 12, + 2300, + 428310 + ], + [ + 0, + 4, + 13, + 2300, + 428310 + ], + [ + 0, + 4, + 14, + 2300, + 428310 + ], + [ + 0, + 4, + 15, + 2300, + 428310 + ], + [ + 0, + 4, + 16, + 2300, + 428310 + ], + [ + 0, + 4, + 17, + 2300, + 428310 + ], + [ + 0, + 4, + 18, + 2300, + 428310 + ], + [ + 0, + 4, + 19, + 2300, + 428310 + ], + [ + 0, + 4, + 20, + 2300, + 428310 + ], + [ + 0, + 4, + 21, + 2300, + 428310 + ], + [ + 0, + 4, + 22, + 2300, + 428310 + ], + [ + 0, + 5, + 6, + 2300, + 428310 + ], + [ + 0, + 5, + 7, + 2300, + 428310 + ], + [ + 0, + 5, + 8, + 2300, + 428310 + ], + [ + 0, + 5, + 9, + 2300, + 428310 + ], + [ + 0, + 5, + 10, + 2300, + 428310 + ], + [ + 0, + 5, + 11, + 2300, + 428310 + ], + [ + 0, + 5, + 12, + 2300, + 428310 + ], + [ + 0, + 5, + 13, + 2300, + 428310 + ], + [ + 0, + 5, + 14, + 2300, + 428310 + ], + [ + 0, + 5, + 15, + 2300, + 428310 + ], + [ + 0, + 5, + 16, + 2300, + 428310 + ], + [ + 0, + 5, + 17, + 2300, + 428310 + ], + [ + 0, + 5, + 18, + 2300, + 428310 + ], + [ + 0, + 5, + 19, + 2300, + 428310 + ], + [ + 0, + 5, + 20, + 2300, + 428310 + ], + [ + 0, + 5, + 21, + 2300, + 428310 + ], + [ + 0, + 5, + 22, + 2300, + 428310 + ], + [ + 0, + 6, + 7, + 2300, + 428310 + ], + [ + 0, + 6, + 8, + 2300, + 428310 + ], + [ + 0, + 6, + 9, + 2300, + 428310 + ], + [ + 0, + 6, + 10, + 2300, + 428310 + ], + [ + 0, + 6, + 11, + 2300, + 428310 + ], + [ + 0, + 6, + 12, + 2300, + 428310 + ], + [ + 0, + 6, + 13, + 2300, + 428310 + ], + [ + 0, + 6, + 14, + 2300, + 428310 + ], + [ + 0, + 6, + 15, + 2300, + 428310 + ], + [ + 0, + 6, + 16, + 2300, + 428310 + ], + [ + 0, + 6, + 17, + 2300, + 428310 + ], + [ + 0, + 6, + 18, + 2300, + 428310 + ], + [ + 0, + 6, + 19, + 2300, + 428310 + ], + [ + 0, + 6, + 20, + 2300, + 428310 + ], + [ + 0, + 6, + 21, + 2300, + 428310 + ], + [ + 0, + 6, + 22, + 2300, + 428310 + ], + [ + 0, + 7, + 8, + 2300, + 428310 + ], + [ + 0, + 7, + 9, + 2300, + 428310 + ], + [ + 0, + 7, + 10, + 2300, + 428310 + ], + [ + 0, + 7, + 11, + 2300, + 428310 + ], + [ + 0, + 7, + 12, + 2300, + 428310 + ], + [ + 0, + 7, + 13, + 2300, + 428310 + ], + [ + 0, + 7, + 14, + 2300, + 428310 + ], + [ + 0, + 7, + 15, + 2300, + 428310 + ], + [ + 0, + 7, + 16, + 2300, + 428310 + ], + [ + 0, + 7, + 17, + 2300, + 428310 + ], + [ + 0, + 7, + 18, + 2300, + 428310 + ], + [ + 0, + 7, + 19, + 2300, + 428310 + ], + [ + 0, + 7, + 20, + 2300, + 428310 + ], + [ + 0, + 7, + 21, + 2300, + 428310 + ], + [ + 0, + 7, + 22, + 2300, + 428310 + ], + [ + 0, + 8, + 9, + 2300, + 428310 + ], + [ + 0, + 8, + 10, + 2300, + 428310 + ], + [ + 0, + 8, + 11, + 2300, + 428310 + ], + [ + 0, + 8, + 12, + 2300, + 428310 + ], + [ + 0, + 8, + 13, + 2300, + 428310 + ], + [ + 0, + 8, + 14, + 2300, + 428310 + ], + [ + 0, + 8, + 15, + 2300, + 428310 + ], + [ + 0, + 8, + 16, + 2300, + 428310 + ], + [ + 0, + 8, + 17, + 2300, + 428310 + ], + [ + 0, + 8, + 18, + 2300, + 428310 + ], + [ + 0, + 8, + 19, + 2300, + 428310 + ], + [ + 0, + 8, + 20, + 2300, + 428310 + ], + [ + 0, + 8, + 21, + 2300, + 428310 + ], + [ + 0, + 8, + 22, + 2300, + 428310 + ], + [ + 0, + 9, + 10, + 2299, + 189775 + ], + [ + 0, + 9, + 11, + 2300, + 428310 + ], + [ + 0, + 9, + 12, + 2300, + 428310 + ], + [ + 0, + 9, + 13, + 2300, + 428310 + ], + [ + 0, + 9, + 14, + 2300, + 428310 + ], + [ + 0, + 9, + 15, + 2300, + 428310 + ], + [ + 0, + 9, + 16, + 2300, + 428310 + ], + [ + 0, + 9, + 17, + 2300, + 428310 + ], + [ + 0, + 9, + 18, + 2300, + 428310 + ], + [ + 0, + 9, + 19, + 2300, + 428310 + ], + [ + 0, + 9, + 20, + 2300, + 428310 + ], + [ + 0, + 9, + 21, + 2300, + 428310 + ], + [ + 0, + 9, + 22, + 2300, + 428310 + ], + [ + 0, + 10, + 11, + 2300, + 428310 + ], + [ + 0, + 10, + 12, + 2300, + 428310 + ], + [ + 0, + 10, + 13, + 2300, + 428310 + ], + [ + 0, + 10, + 14, + 2300, + 428310 + ], + [ + 0, + 10, + 15, + 2300, + 428310 + ], + [ + 0, + 10, + 16, + 2300, + 428310 + ], + [ + 0, + 10, + 17, + 2300, + 428310 + ], + [ + 0, + 10, + 18, + 2300, + 428310 + ], + [ + 0, + 10, + 19, + 2300, + 428310 + ], + [ + 0, + 10, + 20, + 2300, + 428310 + ], + [ + 0, + 10, + 21, + 2300, + 428310 + ], + [ + 0, + 10, + 22, + 2300, + 428310 + ], + [ + 0, + 11, + 12, + 2299, + 189775 + ], + [ + 0, + 11, + 13, + 2300, + 428310 + ], + [ + 0, + 11, + 14, + 2300, + 428310 + ], + [ + 0, + 11, + 15, + 2300, + 428310 + ], + [ + 0, + 11, + 16, + 2300, + 428310 + ], + [ + 0, + 11, + 17, + 2300, + 428310 + ], + [ + 0, + 11, + 18, + 2300, + 428310 + ], + [ + 0, + 11, + 19, + 2300, + 428310 + ], + [ + 0, + 11, + 20, + 2300, + 428310 + ], + [ + 0, + 11, + 21, + 2300, + 428310 + ], + [ + 0, + 11, + 22, + 2300, + 428310 + ], + [ + 0, + 12, + 13, + 2300, + 428310 + ], + [ + 0, + 12, + 14, + 2300, + 428310 + ], + [ + 0, + 12, + 15, + 2300, + 428310 + ], + [ + 0, + 12, + 16, + 2300, + 428310 + ], + [ + 0, + 12, + 17, + 2300, + 428310 + ], + [ + 0, + 12, + 18, + 2300, + 428310 + ], + [ + 0, + 12, + 19, + 2300, + 428310 + ], + [ + 0, + 12, + 20, + 2300, + 428310 + ], + [ + 0, + 12, + 21, + 2300, + 428310 + ], + [ + 0, + 12, + 22, + 2300, + 428310 + ], + [ + 0, + 13, + 14, + 2300, + 428310 + ], + [ + 0, + 13, + 15, + 2300, + 428310 + ], + [ + 0, + 13, + 16, + 2300, + 428310 + ], + [ + 0, + 13, + 17, + 2300, + 428310 + ], + [ + 0, + 13, + 18, + 2300, + 428310 + ], + [ + 0, + 13, + 19, + 2300, + 428310 + ], + [ + 0, + 13, + 20, + 2300, + 428310 + ], + [ + 0, + 13, + 21, + 2300, + 428310 + ], + [ + 0, + 13, + 22, + 2300, + 428310 + ], + [ + 0, + 14, + 15, + 2300, + 428310 + ], + [ + 0, + 14, + 16, + 2300, + 428310 + ], + [ + 0, + 14, + 17, + 2300, + 428310 + ], + [ + 0, + 14, + 18, + 2300, + 428310 + ], + [ + 0, + 14, + 19, + 2300, + 428310 + ], + [ + 0, + 14, + 20, + 2300, + 428310 + ], + [ + 0, + 14, + 21, + 2300, + 428310 + ], + [ + 0, + 14, + 22, + 2300, + 428310 + ], + [ + 0, + 15, + 16, + 2300, + 428310 + ], + [ + 0, + 15, + 17, + 2300, + 428310 + ], + [ + 0, + 15, + 18, + 2299, + 189775 + ], + [ + 0, + 15, + 19, + 2300, + 428310 + ], + [ + 0, + 15, + 20, + 2300, + 428310 + ], + [ + 0, + 15, + 21, + 2300, + 428310 + ], + [ + 0, + 15, + 22, + 2300, + 428310 + ], + [ + 0, + 16, + 17, + 2300, + 428310 + ], + [ + 0, + 16, + 18, + 2300, + 428310 + ], + [ + 0, + 16, + 19, + 2300, + 428310 + ], + [ + 0, + 16, + 20, + 2300, + 428310 + ], + [ + 0, + 16, + 21, + 2300, + 428310 + ], + [ + 0, + 16, + 22, + 2300, + 428310 + ], + [ + 0, + 17, + 18, + 2300, + 428310 + ], + [ + 0, + 17, + 19, + 2300, + 428310 + ], + [ + 0, + 17, + 20, + 2300, + 428310 + ], + [ + 0, + 17, + 21, + 2300, + 428310 + ], + [ + 0, + 17, + 22, + 2300, + 428310 + ], + [ + 0, + 18, + 19, + 2300, + 428310 + ], + [ + 0, + 18, + 20, + 2300, + 428310 + ], + [ + 0, + 18, + 21, + 2300, + 428310 + ], + [ + 0, + 18, + 22, + 2300, + 428310 + ], + [ + 0, + 19, + 20, + 2300, + 428310 + ], + [ + 0, + 19, + 21, + 2300, + 428310 + ], + [ + 0, + 19, + 22, + 2300, + 428310 + ], + [ + 0, + 20, + 21, + 2300, + 428310 + ], + [ + 0, + 20, + 22, + 2300, + 428310 + ], + [ + 0, + 21, + 22, + 2300, + 428310 + ], + [ + 1, + 2, + 3, + 2300, + 428310 + ], + [ + 1, + 2, + 4, + 2300, + 428310 + ], + [ + 1, + 2, + 5, + 2300, + 428310 + ], + [ + 1, + 2, + 6, + 2300, + 428310 + ], + [ + 1, + 2, + 7, + 2300, + 428310 + ], + [ + 1, + 2, + 8, + 2300, + 428310 + ], + [ + 1, + 2, + 9, + 2300, + 428310 + ], + [ + 1, + 2, + 10, + 2300, + 428310 + ], + [ + 1, + 2, + 11, + 2300, + 428310 + ], + [ + 1, + 2, + 12, + 2300, + 428310 + ], + [ + 1, + 2, + 13, + 2300, + 428310 + ], + [ + 1, + 2, + 14, + 2300, + 428310 + ], + [ + 1, + 2, + 15, + 2300, + 428310 + ], + [ + 1, + 2, + 16, + 2300, + 428310 + ], + [ + 1, + 2, + 17, + 2300, + 428310 + ], + [ + 1, + 2, + 18, + 2300, + 428310 + ], + [ + 1, + 2, + 19, + 2300, + 428310 + ], + [ + 1, + 2, + 20, + 2300, + 428310 + ], + [ + 1, + 2, + 21, + 2300, + 428310 + ], + [ + 1, + 2, + 22, + 2300, + 428310 + ], + [ + 1, + 3, + 4, + 2300, + 428310 + ], + [ + 1, + 3, + 5, + 2300, + 428310 + ], + [ + 1, + 3, + 6, + 2300, + 428310 + ], + [ + 1, + 3, + 7, + 2300, + 428310 + ], + [ + 1, + 3, + 8, + 2300, + 428310 + ], + [ + 1, + 3, + 9, + 2300, + 428310 + ], + [ + 1, + 3, + 10, + 2300, + 428310 + ], + [ + 1, + 3, + 11, + 2300, + 428310 + ], + [ + 1, + 3, + 12, + 2300, + 428310 + ], + [ + 1, + 3, + 13, + 2300, + 428310 + ], + [ + 1, + 3, + 14, + 2300, + 428310 + ], + [ + 1, + 3, + 15, + 2300, + 428310 + ], + [ + 1, + 3, + 16, + 2300, + 428310 + ], + [ + 1, + 3, + 17, + 2300, + 428310 + ], + [ + 1, + 3, + 18, + 2300, + 428310 + ], + [ + 1, + 3, + 19, + 2300, + 428310 + ], + [ + 1, + 3, + 20, + 2300, + 428310 + ], + [ + 1, + 3, + 21, + 2300, + 428310 + ], + [ + 1, + 3, + 22, + 2300, + 428310 + ], + [ + 1, + 4, + 5, + 2300, + 428310 + ], + [ + 1, + 4, + 6, + 2300, + 428310 + ], + [ + 1, + 4, + 7, + 2300, + 428310 + ], + [ + 1, + 4, + 8, + 2300, + 428310 + ], + [ + 1, + 4, + 9, + 2300, + 428310 + ], + [ + 1, + 4, + 10, + 2300, + 428310 + ], + [ + 1, + 4, + 11, + 2300, + 428310 + ], + [ + 1, + 4, + 12, + 2300, + 428310 + ], + [ + 1, + 4, + 13, + 2300, + 428310 + ], + [ + 1, + 4, + 14, + 2300, + 428310 + ], + [ + 1, + 4, + 15, + 2300, + 428310 + ], + [ + 1, + 4, + 16, + 2300, + 428310 + ], + [ + 1, + 4, + 17, + 2300, + 428310 + ], + [ + 1, + 4, + 18, + 2300, + 428310 + ], + [ + 1, + 4, + 19, + 2300, + 428310 + ], + [ + 1, + 4, + 20, + 2300, + 428310 + ], + [ + 1, + 4, + 21, + 2300, + 428310 + ], + [ + 1, + 4, + 22, + 2300, + 428310 + ], + [ + 1, + 5, + 6, + 2300, + 428310 + ], + [ + 1, + 5, + 7, + 2300, + 428310 + ], + [ + 1, + 5, + 8, + 2300, + 428310 + ], + [ + 1, + 5, + 9, + 2300, + 428310 + ], + [ + 1, + 5, + 10, + 2300, + 428310 + ], + [ + 1, + 5, + 11, + 2300, + 428310 + ], + [ + 1, + 5, + 12, + 2300, + 428310 + ], + [ + 1, + 5, + 13, + 2300, + 428310 + ], + [ + 1, + 5, + 14, + 2300, + 428310 + ], + [ + 1, + 5, + 15, + 2300, + 428310 + ], + [ + 1, + 5, + 16, + 2300, + 428310 + ], + [ + 1, + 5, + 17, + 2300, + 428310 + ], + [ + 1, + 5, + 18, + 2300, + 428310 + ], + [ + 1, + 5, + 19, + 2300, + 428310 + ], + [ + 1, + 5, + 20, + 2300, + 428310 + ], + [ + 1, + 5, + 21, + 2300, + 428310 + ], + [ + 1, + 5, + 22, + 2300, + 428310 + ], + [ + 1, + 6, + 7, + 2300, + 428310 + ], + [ + 1, + 6, + 8, + 2300, + 428310 + ], + [ + 1, + 6, + 9, + 2300, + 428310 + ], + [ + 1, + 6, + 10, + 2300, + 428310 + ], + [ + 1, + 6, + 11, + 2300, + 428310 + ], + [ + 1, + 6, + 12, + 2300, + 428310 + ], + [ + 1, + 6, + 13, + 2300, + 428310 + ], + [ + 1, + 6, + 14, + 2300, + 428310 + ], + [ + 1, + 6, + 15, + 2300, + 428310 + ], + [ + 1, + 6, + 16, + 2300, + 428310 + ], + [ + 1, + 6, + 17, + 2300, + 428310 + ], + [ + 1, + 6, + 18, + 2300, + 428310 + ], + [ + 1, + 6, + 19, + 2300, + 428310 + ], + [ + 1, + 6, + 20, + 2300, + 428310 + ], + [ + 1, + 6, + 21, + 2300, + 428310 + ], + [ + 1, + 6, + 22, + 2300, + 428310 + ], + [ + 1, + 7, + 8, + 2300, + 428310 + ], + [ + 1, + 7, + 9, + 2300, + 428310 + ], + [ + 1, + 7, + 10, + 2300, + 428310 + ], + [ + 1, + 7, + 11, + 2300, + 428310 + ], + [ + 1, + 7, + 12, + 2300, + 428310 + ], + [ + 1, + 7, + 13, + 2300, + 428310 + ], + [ + 1, + 7, + 14, + 2300, + 428310 + ], + [ + 1, + 7, + 15, + 2300, + 428310 + ], + [ + 1, + 7, + 16, + 2300, + 428310 + ], + [ + 1, + 7, + 17, + 2300, + 428310 + ], + [ + 1, + 7, + 18, + 2300, + 428310 + ], + [ + 1, + 7, + 19, + 2300, + 428310 + ], + [ + 1, + 7, + 20, + 2300, + 428310 + ], + [ + 1, + 7, + 21, + 2300, + 428310 + ], + [ + 1, + 7, + 22, + 2300, + 428310 + ], + [ + 1, + 8, + 9, + 2300, + 428310 + ], + [ + 1, + 8, + 10, + 2300, + 428310 + ], + [ + 1, + 8, + 11, + 2300, + 428310 + ], + [ + 1, + 8, + 12, + 2300, + 428310 + ], + [ + 1, + 8, + 13, + 2300, + 428310 + ], + [ + 1, + 8, + 14, + 2300, + 428310 + ], + [ + 1, + 8, + 15, + 2300, + 428310 + ], + [ + 1, + 8, + 16, + 2300, + 428310 + ], + [ + 1, + 8, + 17, + 2300, + 428310 + ], + [ + 1, + 8, + 18, + 2300, + 428310 + ], + [ + 1, + 8, + 19, + 2300, + 428310 + ], + [ + 1, + 8, + 20, + 2300, + 428310 + ], + [ + 1, + 8, + 21, + 2300, + 428310 + ], + [ + 1, + 8, + 22, + 2300, + 428310 + ], + [ + 1, + 9, + 10, + 2300, + 428310 + ], + [ + 1, + 9, + 11, + 2300, + 428310 + ], + [ + 1, + 9, + 12, + 2300, + 428310 + ], + [ + 1, + 9, + 13, + 2300, + 428310 + ], + [ + 1, + 9, + 14, + 2300, + 428310 + ], + [ + 1, + 9, + 15, + 2300, + 428310 + ], + [ + 1, + 9, + 16, + 2300, + 428310 + ], + [ + 1, + 9, + 17, + 2300, + 428310 + ], + [ + 1, + 9, + 18, + 2300, + 428310 + ], + [ + 1, + 9, + 19, + 2300, + 428310 + ], + [ + 1, + 9, + 20, + 2300, + 428310 + ], + [ + 1, + 9, + 21, + 2300, + 428310 + ], + [ + 1, + 9, + 22, + 2300, + 428310 + ], + [ + 1, + 10, + 11, + 2300, + 428310 + ], + [ + 1, + 10, + 12, + 2300, + 428310 + ], + [ + 1, + 10, + 13, + 2300, + 428310 + ], + [ + 1, + 10, + 14, + 2300, + 428310 + ], + [ + 1, + 10, + 15, + 2300, + 428310 + ], + [ + 1, + 10, + 16, + 2300, + 428310 + ], + [ + 1, + 10, + 17, + 2300, + 428310 + ], + [ + 1, + 10, + 18, + 2300, + 428310 + ], + [ + 1, + 10, + 19, + 2300, + 428310 + ], + [ + 1, + 10, + 20, + 2300, + 428310 + ], + [ + 1, + 10, + 21, + 2300, + 428310 + ], + [ + 1, + 10, + 22, + 2300, + 428310 + ], + [ + 1, + 11, + 12, + 2300, + 428310 + ], + [ + 1, + 11, + 13, + 2300, + 428310 + ], + [ + 1, + 11, + 14, + 2300, + 428310 + ], + [ + 1, + 11, + 15, + 2300, + 428310 + ], + [ + 1, + 11, + 16, + 2300, + 428310 + ], + [ + 1, + 11, + 17, + 2300, + 428310 + ], + [ + 1, + 11, + 18, + 2300, + 428310 + ], + [ + 1, + 11, + 19, + 2300, + 428310 + ], + [ + 1, + 11, + 20, + 2300, + 428310 + ], + [ + 1, + 11, + 21, + 2300, + 428310 + ], + [ + 1, + 11, + 22, + 2300, + 428310 + ], + [ + 1, + 12, + 13, + 2300, + 428310 + ], + [ + 1, + 12, + 14, + 2300, + 428310 + ], + [ + 1, + 12, + 15, + 2300, + 428310 + ], + [ + 1, + 12, + 16, + 2300, + 428310 + ], + [ + 1, + 12, + 17, + 2300, + 428310 + ], + [ + 1, + 12, + 18, + 2300, + 428310 + ], + [ + 1, + 12, + 19, + 2300, + 428310 + ], + [ + 1, + 12, + 20, + 2300, + 428310 + ], + [ + 1, + 12, + 21, + 2300, + 428310 + ], + [ + 1, + 12, + 22, + 2300, + 428310 + ], + [ + 1, + 13, + 14, + 2300, + 428310 + ], + [ + 1, + 13, + 15, + 2300, + 428310 + ], + [ + 1, + 13, + 16, + 2300, + 428310 + ], + [ + 1, + 13, + 17, + 2300, + 428310 + ], + [ + 1, + 13, + 18, + 2300, + 428310 + ], + [ + 1, + 13, + 19, + 2300, + 428310 + ], + [ + 1, + 13, + 20, + 2300, + 428310 + ], + [ + 1, + 13, + 21, + 2300, + 428310 + ], + [ + 1, + 13, + 22, + 2300, + 428310 + ], + [ + 1, + 14, + 15, + 2300, + 428310 + ], + [ + 1, + 14, + 16, + 2300, + 428310 + ], + [ + 1, + 14, + 17, + 2300, + 428310 + ], + [ + 1, + 14, + 18, + 2300, + 428310 + ], + [ + 1, + 14, + 19, + 2300, + 428310 + ], + [ + 1, + 14, + 20, + 2300, + 428310 + ], + [ + 1, + 14, + 21, + 2300, + 428310 + ], + [ + 1, + 14, + 22, + 2300, + 428310 + ], + [ + 1, + 15, + 16, + 2300, + 428310 + ], + [ + 1, + 15, + 17, + 2299, + 189775 + ], + [ + 1, + 15, + 18, + 2300, + 428310 + ], + [ + 1, + 15, + 19, + 2300, + 428310 + ], + [ + 1, + 15, + 20, + 2300, + 428310 + ], + [ + 1, + 15, + 21, + 2300, + 428310 + ], + [ + 1, + 15, + 22, + 2300, + 428310 + ], + [ + 1, + 16, + 17, + 2300, + 428310 + ], + [ + 1, + 16, + 18, + 2300, + 428310 + ], + [ + 1, + 16, + 19, + 2300, + 428310 + ], + [ + 1, + 16, + 20, + 2300, + 428310 + ], + [ + 1, + 16, + 21, + 2300, + 428310 + ], + [ + 1, + 16, + 22, + 2300, + 428310 + ], + [ + 1, + 17, + 18, + 2300, + 428310 + ], + [ + 1, + 17, + 19, + 2300, + 428310 + ], + [ + 1, + 17, + 20, + 2300, + 428310 + ], + [ + 1, + 17, + 21, + 2300, + 428310 + ], + [ + 1, + 17, + 22, + 2300, + 428310 + ], + [ + 1, + 18, + 19, + 2300, + 428310 + ], + [ + 1, + 18, + 20, + 2300, + 428310 + ], + [ + 1, + 18, + 21, + 2300, + 428310 + ], + [ + 1, + 18, + 22, + 2300, + 428310 + ], + [ + 1, + 19, + 20, + 2300, + 428310 + ], + [ + 1, + 19, + 21, + 2300, + 428310 + ], + [ + 1, + 19, + 22, + 2300, + 428310 + ], + [ + 1, + 20, + 21, + 2300, + 428310 + ], + [ + 1, + 20, + 22, + 2300, + 428310 + ], + [ + 1, + 21, + 22, + 2300, + 428310 + ], + [ + 2, + 3, + 4, + 2300, + 428310 + ], + [ + 2, + 3, + 5, + 2300, + 428310 + ], + [ + 2, + 3, + 6, + 2300, + 428310 + ], + [ + 2, + 3, + 7, + 2300, + 428310 + ], + [ + 2, + 3, + 8, + 2300, + 428310 + ], + [ + 2, + 3, + 9, + 2300, + 428310 + ], + [ + 2, + 3, + 10, + 2300, + 428310 + ], + [ + 2, + 3, + 11, + 2300, + 428310 + ], + [ + 2, + 3, + 12, + 2300, + 428310 + ], + [ + 2, + 3, + 13, + 2300, + 428310 + ], + [ + 2, + 3, + 14, + 2300, + 428310 + ], + [ + 2, + 3, + 15, + 2300, + 428310 + ], + [ + 2, + 3, + 16, + 2300, + 428310 + ], + [ + 2, + 3, + 17, + 2300, + 428310 + ], + [ + 2, + 3, + 18, + 2300, + 428310 + ], + [ + 2, + 3, + 19, + 2300, + 428310 + ], + [ + 2, + 3, + 20, + 2300, + 428310 + ], + [ + 2, + 3, + 21, + 2300, + 428310 + ], + [ + 2, + 3, + 22, + 2300, + 428310 + ], + [ + 2, + 4, + 5, + 2300, + 428310 + ], + [ + 2, + 4, + 6, + 2300, + 428310 + ], + [ + 2, + 4, + 7, + 2300, + 428310 + ], + [ + 2, + 4, + 8, + 2300, + 428310 + ], + [ + 2, + 4, + 9, + 2300, + 428310 + ], + [ + 2, + 4, + 10, + 2300, + 428310 + ], + [ + 2, + 4, + 11, + 2300, + 428310 + ], + [ + 2, + 4, + 12, + 2300, + 428310 + ], + [ + 2, + 4, + 13, + 2300, + 428310 + ], + [ + 2, + 4, + 14, + 2300, + 428310 + ], + [ + 2, + 4, + 15, + 2300, + 428310 + ], + [ + 2, + 4, + 16, + 2300, + 428310 + ], + [ + 2, + 4, + 17, + 2300, + 428310 + ], + [ + 2, + 4, + 18, + 2300, + 428310 + ], + [ + 2, + 4, + 19, + 2300, + 428310 + ], + [ + 2, + 4, + 20, + 2300, + 428310 + ], + [ + 2, + 4, + 21, + 2300, + 428310 + ], + [ + 2, + 4, + 22, + 2300, + 428310 + ], + [ + 2, + 5, + 6, + 2300, + 428310 + ], + [ + 2, + 5, + 7, + 2300, + 428310 + ], + [ + 2, + 5, + 8, + 2300, + 428310 + ], + [ + 2, + 5, + 9, + 2300, + 428310 + ], + [ + 2, + 5, + 10, + 2300, + 428310 + ], + [ + 2, + 5, + 11, + 2300, + 428310 + ], + [ + 2, + 5, + 12, + 2300, + 428310 + ], + [ + 2, + 5, + 13, + 2300, + 428310 + ], + [ + 2, + 5, + 14, + 2300, + 428310 + ], + [ + 2, + 5, + 15, + 2300, + 428310 + ], + [ + 2, + 5, + 16, + 2300, + 428310 + ], + [ + 2, + 5, + 17, + 2300, + 428310 + ], + [ + 2, + 5, + 18, + 2300, + 428310 + ], + [ + 2, + 5, + 19, + 2300, + 428310 + ], + [ + 2, + 5, + 20, + 2300, + 428310 + ], + [ + 2, + 5, + 21, + 2300, + 428310 + ], + [ + 2, + 5, + 22, + 2300, + 428310 + ], + [ + 2, + 6, + 7, + 2300, + 428310 + ], + [ + 2, + 6, + 8, + 2300, + 428310 + ], + [ + 2, + 6, + 9, + 2300, + 428310 + ], + [ + 2, + 6, + 10, + 2300, + 428310 + ], + [ + 2, + 6, + 11, + 2300, + 428310 + ], + [ + 2, + 6, + 12, + 2300, + 428310 + ], + [ + 2, + 6, + 13, + 2300, + 428310 + ], + [ + 2, + 6, + 14, + 2300, + 428310 + ], + [ + 2, + 6, + 15, + 2300, + 428310 + ], + [ + 2, + 6, + 16, + 2300, + 428310 + ], + [ + 2, + 6, + 17, + 2300, + 428310 + ], + [ + 2, + 6, + 18, + 2300, + 428310 + ], + [ + 2, + 6, + 19, + 2300, + 428310 + ], + [ + 2, + 6, + 20, + 2300, + 428310 + ], + [ + 2, + 6, + 21, + 2300, + 428310 + ], + [ + 2, + 6, + 22, + 2300, + 428310 + ], + [ + 2, + 7, + 8, + 2300, + 428310 + ], + [ + 2, + 7, + 9, + 2300, + 428310 + ], + [ + 2, + 7, + 10, + 2300, + 428310 + ], + [ + 2, + 7, + 11, + 2300, + 428310 + ], + [ + 2, + 7, + 12, + 2300, + 428310 + ], + [ + 2, + 7, + 13, + 2300, + 428310 + ], + [ + 2, + 7, + 14, + 2300, + 428310 + ], + [ + 2, + 7, + 15, + 2300, + 428310 + ], + [ + 2, + 7, + 16, + 2300, + 428310 + ], + [ + 2, + 7, + 17, + 2300, + 428310 + ], + [ + 2, + 7, + 18, + 2300, + 428310 + ], + [ + 2, + 7, + 19, + 2300, + 428310 + ], + [ + 2, + 7, + 20, + 2300, + 428310 + ], + [ + 2, + 7, + 21, + 2300, + 428310 + ], + [ + 2, + 7, + 22, + 2300, + 428310 + ], + [ + 2, + 8, + 9, + 2300, + 428310 + ], + [ + 2, + 8, + 10, + 2300, + 428310 + ], + [ + 2, + 8, + 11, + 2300, + 428310 + ], + [ + 2, + 8, + 12, + 2300, + 428310 + ], + [ + 2, + 8, + 13, + 2300, + 428310 + ], + [ + 2, + 8, + 14, + 2300, + 428310 + ], + [ + 2, + 8, + 15, + 2300, + 428310 + ], + [ + 2, + 8, + 16, + 2300, + 428310 + ], + [ + 2, + 8, + 17, + 2300, + 428310 + ], + [ + 2, + 8, + 18, + 2300, + 428310 + ], + [ + 2, + 8, + 19, + 2300, + 428310 + ], + [ + 2, + 8, + 20, + 2300, + 428310 + ], + [ + 2, + 8, + 21, + 2300, + 428310 + ], + [ + 2, + 8, + 22, + 2300, + 428310 + ], + [ + 2, + 9, + 10, + 2300, + 428310 + ], + [ + 2, + 9, + 11, + 2300, + 428310 + ], + [ + 2, + 9, + 12, + 2300, + 428310 + ], + [ + 2, + 9, + 13, + 2300, + 428310 + ], + [ + 2, + 9, + 14, + 2300, + 428310 + ], + [ + 2, + 9, + 15, + 2300, + 428310 + ], + [ + 2, + 9, + 16, + 2300, + 428310 + ], + [ + 2, + 9, + 17, + 2300, + 428310 + ], + [ + 2, + 9, + 18, + 2300, + 428310 + ], + [ + 2, + 9, + 19, + 2300, + 428310 + ], + [ + 2, + 9, + 20, + 2300, + 428310 + ], + [ + 2, + 9, + 21, + 2300, + 428310 + ], + [ + 2, + 9, + 22, + 2300, + 428310 + ], + [ + 2, + 10, + 11, + 2300, + 428310 + ], + [ + 2, + 10, + 12, + 2300, + 428310 + ], + [ + 2, + 10, + 13, + 2300, + 428310 + ], + [ + 2, + 10, + 14, + 2300, + 428310 + ], + [ + 2, + 10, + 15, + 2300, + 428310 + ], + [ + 2, + 10, + 16, + 2300, + 428310 + ], + [ + 2, + 10, + 17, + 2300, + 428310 + ], + [ + 2, + 10, + 18, + 2300, + 428310 + ], + [ + 2, + 10, + 19, + 2300, + 428310 + ], + [ + 2, + 10, + 20, + 2300, + 428310 + ], + [ + 2, + 10, + 21, + 2300, + 428310 + ], + [ + 2, + 10, + 22, + 2300, + 428310 + ], + [ + 2, + 11, + 12, + 2300, + 428310 + ], + [ + 2, + 11, + 13, + 2300, + 428310 + ], + [ + 2, + 11, + 14, + 2300, + 428310 + ], + [ + 2, + 11, + 15, + 2300, + 428310 + ], + [ + 2, + 11, + 16, + 2300, + 428310 + ], + [ + 2, + 11, + 17, + 2300, + 428310 + ], + [ + 2, + 11, + 18, + 2299, + 189775 + ], + [ + 2, + 11, + 19, + 2300, + 428310 + ], + [ + 2, + 11, + 20, + 2300, + 428310 + ], + [ + 2, + 11, + 21, + 2300, + 428310 + ], + [ + 2, + 11, + 22, + 2300, + 428310 + ], + [ + 2, + 12, + 13, + 2300, + 428310 + ], + [ + 2, + 12, + 14, + 2300, + 428310 + ], + [ + 2, + 12, + 15, + 2300, + 428310 + ], + [ + 2, + 12, + 16, + 2300, + 428310 + ], + [ + 2, + 12, + 17, + 2300, + 428310 + ], + [ + 2, + 12, + 18, + 2300, + 428310 + ], + [ + 2, + 12, + 19, + 2300, + 428310 + ], + [ + 2, + 12, + 20, + 2300, + 428310 + ], + [ + 2, + 12, + 21, + 2300, + 428310 + ], + [ + 2, + 12, + 22, + 2300, + 428310 + ], + [ + 2, + 13, + 14, + 2300, + 428310 + ], + [ + 2, + 13, + 15, + 2300, + 428310 + ], + [ + 2, + 13, + 16, + 2300, + 428310 + ], + [ + 2, + 13, + 17, + 2300, + 428310 + ], + [ + 2, + 13, + 18, + 2300, + 428310 + ], + [ + 2, + 13, + 19, + 2300, + 428310 + ], + [ + 2, + 13, + 20, + 2300, + 428310 + ], + [ + 2, + 13, + 21, + 2300, + 428310 + ], + [ + 2, + 13, + 22, + 2300, + 428310 + ], + [ + 2, + 14, + 15, + 2300, + 428310 + ], + [ + 2, + 14, + 16, + 2300, + 428310 + ], + [ + 2, + 14, + 17, + 2300, + 428310 + ], + [ + 2, + 14, + 18, + 2300, + 428310 + ], + [ + 2, + 14, + 19, + 2300, + 428310 + ], + [ + 2, + 14, + 20, + 2300, + 428310 + ], + [ + 2, + 14, + 21, + 2300, + 428310 + ], + [ + 2, + 14, + 22, + 2300, + 428310 + ], + [ + 2, + 15, + 16, + 2300, + 428310 + ], + [ + 2, + 15, + 17, + 2300, + 428310 + ], + [ + 2, + 15, + 18, + 2300, + 428310 + ], + [ + 2, + 15, + 19, + 2300, + 428310 + ], + [ + 2, + 15, + 20, + 2300, + 428310 + ], + [ + 2, + 15, + 21, + 2300, + 428310 + ], + [ + 2, + 15, + 22, + 2300, + 428310 + ], + [ + 2, + 16, + 17, + 2300, + 428310 + ], + [ + 2, + 16, + 18, + 2300, + 428310 + ], + [ + 2, + 16, + 19, + 2300, + 428310 + ], + [ + 2, + 16, + 20, + 2300, + 428310 + ], + [ + 2, + 16, + 21, + 2300, + 428310 + ], + [ + 2, + 16, + 22, + 2300, + 428310 + ], + [ + 2, + 17, + 18, + 2300, + 428310 + ], + [ + 2, + 17, + 19, + 2300, + 428310 + ], + [ + 2, + 17, + 20, + 2300, + 428310 + ], + [ + 2, + 17, + 21, + 2300, + 428310 + ], + [ + 2, + 17, + 22, + 2300, + 428310 + ], + [ + 2, + 18, + 19, + 2300, + 428310 + ], + [ + 2, + 18, + 20, + 2300, + 428310 + ], + [ + 2, + 18, + 21, + 2300, + 428310 + ], + [ + 2, + 18, + 22, + 2300, + 428310 + ], + [ + 2, + 19, + 20, + 2300, + 428310 + ], + [ + 2, + 19, + 21, + 2300, + 428310 + ], + [ + 2, + 19, + 22, + 2300, + 428310 + ], + [ + 2, + 20, + 21, + 2300, + 428310 + ], + [ + 2, + 20, + 22, + 2300, + 428310 + ], + [ + 2, + 21, + 22, + 2300, + 428310 + ], + [ + 3, + 4, + 5, + 2300, + 428310 + ], + [ + 3, + 4, + 6, + 2300, + 428310 + ], + [ + 3, + 4, + 7, + 2300, + 428310 + ], + [ + 3, + 4, + 8, + 2300, + 428310 + ], + [ + 3, + 4, + 9, + 2300, + 428310 + ], + [ + 3, + 4, + 10, + 2300, + 428310 + ], + [ + 3, + 4, + 11, + 2300, + 428310 + ], + [ + 3, + 4, + 12, + 2300, + 428310 + ], + [ + 3, + 4, + 13, + 2300, + 428310 + ], + [ + 3, + 4, + 14, + 2300, + 428310 + ], + [ + 3, + 4, + 15, + 2300, + 428310 + ], + [ + 3, + 4, + 16, + 2300, + 428310 + ], + [ + 3, + 4, + 17, + 2300, + 428310 + ], + [ + 3, + 4, + 18, + 2300, + 428310 + ], + [ + 3, + 4, + 19, + 2300, + 428310 + ], + [ + 3, + 4, + 20, + 2300, + 428310 + ], + [ + 3, + 4, + 21, + 2300, + 428310 + ], + [ + 3, + 4, + 22, + 2300, + 428310 + ], + [ + 3, + 5, + 6, + 2300, + 428310 + ], + [ + 3, + 5, + 7, + 2300, + 428310 + ], + [ + 3, + 5, + 8, + 2300, + 428310 + ], + [ + 3, + 5, + 9, + 2300, + 428310 + ], + [ + 3, + 5, + 10, + 2300, + 428310 + ], + [ + 3, + 5, + 11, + 2300, + 428310 + ], + [ + 3, + 5, + 12, + 2300, + 428310 + ], + [ + 3, + 5, + 13, + 2300, + 428310 + ], + [ + 3, + 5, + 14, + 2300, + 428310 + ], + [ + 3, + 5, + 15, + 2300, + 428310 + ], + [ + 3, + 5, + 16, + 2300, + 428310 + ], + [ + 3, + 5, + 17, + 2300, + 428310 + ], + [ + 3, + 5, + 18, + 2300, + 428310 + ], + [ + 3, + 5, + 19, + 2300, + 428310 + ], + [ + 3, + 5, + 20, + 2300, + 428310 + ], + [ + 3, + 5, + 21, + 2300, + 428310 + ], + [ + 3, + 5, + 22, + 2300, + 428310 + ], + [ + 3, + 6, + 7, + 2300, + 428310 + ], + [ + 3, + 6, + 8, + 2300, + 428310 + ], + [ + 3, + 6, + 9, + 2300, + 428310 + ], + [ + 3, + 6, + 10, + 2300, + 428310 + ], + [ + 3, + 6, + 11, + 2300, + 428310 + ], + [ + 3, + 6, + 12, + 2300, + 428310 + ], + [ + 3, + 6, + 13, + 2300, + 428310 + ], + [ + 3, + 6, + 14, + 2300, + 428310 + ], + [ + 3, + 6, + 15, + 2300, + 428310 + ], + [ + 3, + 6, + 16, + 2300, + 428310 + ], + [ + 3, + 6, + 17, + 2300, + 428310 + ], + [ + 3, + 6, + 18, + 2300, + 428310 + ], + [ + 3, + 6, + 19, + 2300, + 428310 + ], + [ + 3, + 6, + 20, + 2300, + 428310 + ], + [ + 3, + 6, + 21, + 2300, + 428310 + ], + [ + 3, + 6, + 22, + 2300, + 428310 + ], + [ + 3, + 7, + 8, + 2300, + 428310 + ], + [ + 3, + 7, + 9, + 2300, + 428310 + ], + [ + 3, + 7, + 10, + 2300, + 428310 + ], + [ + 3, + 7, + 11, + 2300, + 428310 + ], + [ + 3, + 7, + 12, + 2300, + 428310 + ], + [ + 3, + 7, + 13, + 2300, + 428310 + ], + [ + 3, + 7, + 14, + 2300, + 428310 + ], + [ + 3, + 7, + 15, + 2300, + 428310 + ], + [ + 3, + 7, + 16, + 2300, + 428310 + ], + [ + 3, + 7, + 17, + 2300, + 428310 + ], + [ + 3, + 7, + 18, + 2300, + 428310 + ], + [ + 3, + 7, + 19, + 2300, + 428310 + ], + [ + 3, + 7, + 20, + 2300, + 428310 + ], + [ + 3, + 7, + 21, + 2300, + 428310 + ], + [ + 3, + 7, + 22, + 2300, + 428310 + ], + [ + 3, + 8, + 9, + 2300, + 428310 + ], + [ + 3, + 8, + 10, + 2300, + 428310 + ], + [ + 3, + 8, + 11, + 2300, + 428310 + ], + [ + 3, + 8, + 12, + 2300, + 428310 + ], + [ + 3, + 8, + 13, + 2300, + 428310 + ], + [ + 3, + 8, + 14, + 2300, + 428310 + ], + [ + 3, + 8, + 15, + 2300, + 428310 + ], + [ + 3, + 8, + 16, + 2300, + 428310 + ], + [ + 3, + 8, + 17, + 2300, + 428310 + ], + [ + 3, + 8, + 18, + 2300, + 428310 + ], + [ + 3, + 8, + 19, + 2300, + 428310 + ], + [ + 3, + 8, + 20, + 2300, + 428310 + ], + [ + 3, + 8, + 21, + 2300, + 428310 + ], + [ + 3, + 8, + 22, + 2300, + 428310 + ], + [ + 3, + 9, + 10, + 2300, + 428310 + ], + [ + 3, + 9, + 11, + 2300, + 428310 + ], + [ + 3, + 9, + 12, + 2300, + 428310 + ], + [ + 3, + 9, + 13, + 2300, + 428310 + ], + [ + 3, + 9, + 14, + 2300, + 428310 + ], + [ + 3, + 9, + 15, + 2300, + 428310 + ], + [ + 3, + 9, + 16, + 2300, + 428310 + ], + [ + 3, + 9, + 17, + 2300, + 428310 + ], + [ + 3, + 9, + 18, + 2300, + 428310 + ], + [ + 3, + 9, + 19, + 2300, + 428310 + ], + [ + 3, + 9, + 20, + 2300, + 428310 + ], + [ + 3, + 9, + 21, + 2300, + 428310 + ], + [ + 3, + 9, + 22, + 2300, + 428310 + ], + [ + 3, + 10, + 11, + 2300, + 428310 + ], + [ + 3, + 10, + 12, + 2300, + 428310 + ], + [ + 3, + 10, + 13, + 2300, + 428310 + ], + [ + 3, + 10, + 14, + 2300, + 428310 + ], + [ + 3, + 10, + 15, + 2300, + 428310 + ], + [ + 3, + 10, + 16, + 2300, + 428310 + ], + [ + 3, + 10, + 17, + 2300, + 428310 + ], + [ + 3, + 10, + 18, + 2300, + 428310 + ], + [ + 3, + 10, + 19, + 2300, + 428310 + ], + [ + 3, + 10, + 20, + 2300, + 428310 + ], + [ + 3, + 10, + 21, + 2300, + 428310 + ], + [ + 3, + 10, + 22, + 2300, + 428310 + ], + [ + 3, + 11, + 12, + 2300, + 428310 + ], + [ + 3, + 11, + 13, + 2300, + 428310 + ], + [ + 3, + 11, + 14, + 2300, + 428310 + ], + [ + 3, + 11, + 15, + 2300, + 428310 + ], + [ + 3, + 11, + 16, + 2300, + 428310 + ], + [ + 3, + 11, + 17, + 2300, + 428310 + ], + [ + 3, + 11, + 18, + 2300, + 428310 + ], + [ + 3, + 11, + 19, + 2300, + 428310 + ], + [ + 3, + 11, + 20, + 2300, + 428310 + ], + [ + 3, + 11, + 21, + 2300, + 428310 + ], + [ + 3, + 11, + 22, + 2300, + 428310 + ], + [ + 3, + 12, + 13, + 2300, + 428310 + ], + [ + 3, + 12, + 14, + 2300, + 428310 + ], + [ + 3, + 12, + 15, + 2300, + 428310 + ], + [ + 3, + 12, + 16, + 2300, + 428310 + ], + [ + 3, + 12, + 17, + 2300, + 428310 + ], + [ + 3, + 12, + 18, + 2300, + 428310 + ], + [ + 3, + 12, + 19, + 2300, + 428310 + ], + [ + 3, + 12, + 20, + 2300, + 428310 + ], + [ + 3, + 12, + 21, + 2300, + 428310 + ], + [ + 3, + 12, + 22, + 2300, + 428310 + ], + [ + 3, + 13, + 14, + 2300, + 428310 + ], + [ + 3, + 13, + 15, + 2300, + 428310 + ], + [ + 3, + 13, + 16, + 2300, + 428310 + ], + [ + 3, + 13, + 17, + 2300, + 428310 + ], + [ + 3, + 13, + 18, + 2300, + 428310 + ], + [ + 3, + 13, + 19, + 2300, + 428310 + ], + [ + 3, + 13, + 20, + 2300, + 428310 + ], + [ + 3, + 13, + 21, + 2300, + 428310 + ], + [ + 3, + 13, + 22, + 2300, + 428310 + ], + [ + 3, + 14, + 15, + 2300, + 428310 + ], + [ + 3, + 14, + 16, + 2300, + 428310 + ], + [ + 3, + 14, + 17, + 2300, + 428310 + ], + [ + 3, + 14, + 18, + 2300, + 428310 + ], + [ + 3, + 14, + 19, + 2300, + 428310 + ], + [ + 3, + 14, + 20, + 2300, + 428310 + ], + [ + 3, + 14, + 21, + 2300, + 428310 + ], + [ + 3, + 14, + 22, + 2300, + 428310 + ], + [ + 3, + 15, + 16, + 2300, + 428310 + ], + [ + 3, + 15, + 17, + 2300, + 428310 + ], + [ + 3, + 15, + 18, + 2300, + 428310 + ], + [ + 3, + 15, + 19, + 2300, + 428310 + ], + [ + 3, + 15, + 20, + 2300, + 428310 + ], + [ + 3, + 15, + 21, + 2300, + 428310 + ], + [ + 3, + 15, + 22, + 2300, + 428310 + ], + [ + 3, + 16, + 17, + 2300, + 428310 + ], + [ + 3, + 16, + 18, + 2300, + 428310 + ], + [ + 3, + 16, + 19, + 2300, + 428310 + ], + [ + 3, + 16, + 20, + 2300, + 428310 + ], + [ + 3, + 16, + 21, + 2300, + 428310 + ], + [ + 3, + 16, + 22, + 2300, + 428310 + ], + [ + 3, + 17, + 18, + 2300, + 428310 + ], + [ + 3, + 17, + 19, + 2300, + 428310 + ], + [ + 3, + 17, + 20, + 2300, + 428310 + ], + [ + 3, + 17, + 21, + 2300, + 428310 + ], + [ + 3, + 17, + 22, + 2300, + 428310 + ], + [ + 3, + 18, + 19, + 2300, + 428310 + ], + [ + 3, + 18, + 20, + 2300, + 428310 + ], + [ + 3, + 18, + 21, + 2300, + 428310 + ], + [ + 3, + 18, + 22, + 2300, + 428310 + ], + [ + 3, + 19, + 20, + 2300, + 428310 + ], + [ + 3, + 19, + 21, + 2300, + 428310 + ], + [ + 3, + 19, + 22, + 2300, + 428310 + ], + [ + 3, + 20, + 21, + 2300, + 428310 + ], + [ + 3, + 20, + 22, + 2300, + 428310 + ], + [ + 3, + 21, + 22, + 2300, + 428310 + ], + [ + 4, + 5, + 6, + 2300, + 428310 + ], + [ + 4, + 5, + 7, + 2300, + 428310 + ], + [ + 4, + 5, + 8, + 2300, + 428310 + ], + [ + 4, + 5, + 9, + 2300, + 428310 + ], + [ + 4, + 5, + 10, + 2300, + 428310 + ], + [ + 4, + 5, + 11, + 2300, + 428310 + ], + [ + 4, + 5, + 12, + 2300, + 428310 + ], + [ + 4, + 5, + 13, + 2300, + 428310 + ], + [ + 4, + 5, + 14, + 2300, + 428310 + ], + [ + 4, + 5, + 15, + 2300, + 428310 + ], + [ + 4, + 5, + 16, + 2300, + 428310 + ], + [ + 4, + 5, + 17, + 2300, + 428310 + ], + [ + 4, + 5, + 18, + 2300, + 428310 + ], + [ + 4, + 5, + 19, + 2300, + 428310 + ], + [ + 4, + 5, + 20, + 2300, + 428310 + ], + [ + 4, + 5, + 21, + 2300, + 428310 + ], + [ + 4, + 5, + 22, + 2300, + 428310 + ], + [ + 4, + 6, + 7, + 2300, + 428310 + ], + [ + 4, + 6, + 8, + 2300, + 428310 + ], + [ + 4, + 6, + 9, + 2300, + 428310 + ], + [ + 4, + 6, + 10, + 2300, + 428310 + ], + [ + 4, + 6, + 11, + 2300, + 428310 + ], + [ + 4, + 6, + 12, + 2300, + 428310 + ], + [ + 4, + 6, + 13, + 2300, + 428310 + ], + [ + 4, + 6, + 14, + 2300, + 428310 + ], + [ + 4, + 6, + 15, + 2300, + 428310 + ], + [ + 4, + 6, + 16, + 2300, + 428310 + ], + [ + 4, + 6, + 17, + 2300, + 428310 + ], + [ + 4, + 6, + 18, + 2300, + 428310 + ], + [ + 4, + 6, + 19, + 2300, + 428310 + ], + [ + 4, + 6, + 20, + 2300, + 428310 + ], + [ + 4, + 6, + 21, + 2300, + 428310 + ], + [ + 4, + 6, + 22, + 2300, + 428310 + ], + [ + 4, + 7, + 8, + 2300, + 428310 + ], + [ + 4, + 7, + 9, + 2300, + 428310 + ], + [ + 4, + 7, + 10, + 2300, + 428310 + ], + [ + 4, + 7, + 11, + 2300, + 428310 + ], + [ + 4, + 7, + 12, + 2300, + 428310 + ], + [ + 4, + 7, + 13, + 2300, + 428310 + ], + [ + 4, + 7, + 14, + 2300, + 428310 + ], + [ + 4, + 7, + 15, + 2300, + 428310 + ], + [ + 4, + 7, + 16, + 2300, + 428310 + ], + [ + 4, + 7, + 17, + 2300, + 428310 + ], + [ + 4, + 7, + 18, + 2300, + 428310 + ], + [ + 4, + 7, + 19, + 2300, + 428310 + ], + [ + 4, + 7, + 20, + 2300, + 428310 + ], + [ + 4, + 7, + 21, + 2300, + 428310 + ], + [ + 4, + 7, + 22, + 2299, + 189775 + ], + [ + 4, + 8, + 9, + 2300, + 428310 + ], + [ + 4, + 8, + 10, + 2300, + 428310 + ], + [ + 4, + 8, + 11, + 2300, + 428310 + ], + [ + 4, + 8, + 12, + 2300, + 428310 + ], + [ + 4, + 8, + 13, + 2300, + 428310 + ], + [ + 4, + 8, + 14, + 2300, + 428310 + ], + [ + 4, + 8, + 15, + 2300, + 428310 + ], + [ + 4, + 8, + 16, + 2300, + 428310 + ], + [ + 4, + 8, + 17, + 2300, + 428310 + ], + [ + 4, + 8, + 18, + 2300, + 428310 + ], + [ + 4, + 8, + 19, + 2300, + 428310 + ], + [ + 4, + 8, + 20, + 2300, + 428310 + ], + [ + 4, + 8, + 21, + 2300, + 428310 + ], + [ + 4, + 8, + 22, + 2300, + 428310 + ], + [ + 4, + 9, + 10, + 2300, + 428310 + ], + [ + 4, + 9, + 11, + 2300, + 428310 + ], + [ + 4, + 9, + 12, + 2300, + 428310 + ], + [ + 4, + 9, + 13, + 2300, + 428310 + ], + [ + 4, + 9, + 14, + 2300, + 428310 + ], + [ + 4, + 9, + 15, + 2300, + 428310 + ], + [ + 4, + 9, + 16, + 2300, + 428310 + ], + [ + 4, + 9, + 17, + 2300, + 428310 + ], + [ + 4, + 9, + 18, + 2300, + 428310 + ], + [ + 4, + 9, + 19, + 2300, + 428310 + ], + [ + 4, + 9, + 20, + 2300, + 428310 + ], + [ + 4, + 9, + 21, + 2300, + 428310 + ], + [ + 4, + 9, + 22, + 2300, + 428310 + ], + [ + 4, + 10, + 11, + 2300, + 428310 + ], + [ + 4, + 10, + 12, + 2300, + 428310 + ], + [ + 4, + 10, + 13, + 2300, + 428310 + ], + [ + 4, + 10, + 14, + 2300, + 428310 + ], + [ + 4, + 10, + 15, + 2300, + 428310 + ], + [ + 4, + 10, + 16, + 2300, + 428310 + ], + [ + 4, + 10, + 17, + 2300, + 428310 + ], + [ + 4, + 10, + 18, + 2300, + 428310 + ], + [ + 4, + 10, + 19, + 2300, + 428310 + ], + [ + 4, + 10, + 20, + 2300, + 428310 + ], + [ + 4, + 10, + 21, + 2300, + 428310 + ], + [ + 4, + 10, + 22, + 2300, + 428310 + ], + [ + 4, + 11, + 12, + 2300, + 428310 + ], + [ + 4, + 11, + 13, + 2300, + 428310 + ], + [ + 4, + 11, + 14, + 2300, + 428310 + ], + [ + 4, + 11, + 15, + 2300, + 428310 + ], + [ + 4, + 11, + 16, + 2300, + 428310 + ], + [ + 4, + 11, + 17, + 2300, + 428310 + ], + [ + 4, + 11, + 18, + 2300, + 428310 + ], + [ + 4, + 11, + 19, + 2300, + 428310 + ], + [ + 4, + 11, + 20, + 2299, + 189775 + ], + [ + 4, + 11, + 21, + 2300, + 428310 + ], + [ + 4, + 11, + 22, + 2300, + 428310 + ], + [ + 4, + 12, + 13, + 2300, + 428310 + ], + [ + 4, + 12, + 14, + 2300, + 428310 + ], + [ + 4, + 12, + 15, + 2300, + 428310 + ], + [ + 4, + 12, + 16, + 2300, + 428310 + ], + [ + 4, + 12, + 17, + 2300, + 428310 + ], + [ + 4, + 12, + 18, + 2300, + 428310 + ], + [ + 4, + 12, + 19, + 2300, + 428310 + ], + [ + 4, + 12, + 20, + 2300, + 428310 + ], + [ + 4, + 12, + 21, + 2300, + 428310 + ], + [ + 4, + 12, + 22, + 2300, + 428310 + ], + [ + 4, + 13, + 14, + 2300, + 428310 + ], + [ + 4, + 13, + 15, + 2300, + 428310 + ], + [ + 4, + 13, + 16, + 2300, + 428310 + ], + [ + 4, + 13, + 17, + 2300, + 428310 + ], + [ + 4, + 13, + 18, + 2300, + 428310 + ], + [ + 4, + 13, + 19, + 2300, + 428310 + ], + [ + 4, + 13, + 20, + 2300, + 428310 + ], + [ + 4, + 13, + 21, + 2300, + 428310 + ], + [ + 4, + 13, + 22, + 2300, + 428310 + ], + [ + 4, + 14, + 15, + 2300, + 428310 + ], + [ + 4, + 14, + 16, + 2300, + 428310 + ], + [ + 4, + 14, + 17, + 2300, + 428310 + ], + [ + 4, + 14, + 18, + 2300, + 428310 + ], + [ + 4, + 14, + 19, + 2300, + 428310 + ], + [ + 4, + 14, + 20, + 2300, + 428310 + ], + [ + 4, + 14, + 21, + 2300, + 428310 + ], + [ + 4, + 14, + 22, + 2300, + 428310 + ], + [ + 4, + 15, + 16, + 2300, + 428310 + ], + [ + 4, + 15, + 17, + 2300, + 428310 + ], + [ + 4, + 15, + 18, + 2300, + 428310 + ], + [ + 4, + 15, + 19, + 2300, + 428310 + ], + [ + 4, + 15, + 20, + 2300, + 428310 + ], + [ + 4, + 15, + 21, + 2300, + 428310 + ], + [ + 4, + 15, + 22, + 2300, + 428310 + ], + [ + 4, + 16, + 17, + 2300, + 428310 + ], + [ + 4, + 16, + 18, + 2300, + 428310 + ], + [ + 4, + 16, + 19, + 2300, + 428310 + ], + [ + 4, + 16, + 20, + 2300, + 428310 + ], + [ + 4, + 16, + 21, + 2300, + 428310 + ], + [ + 4, + 16, + 22, + 2300, + 428310 + ], + [ + 4, + 17, + 18, + 2300, + 428310 + ], + [ + 4, + 17, + 19, + 2300, + 428310 + ], + [ + 4, + 17, + 20, + 2300, + 428310 + ], + [ + 4, + 17, + 21, + 2300, + 428310 + ], + [ + 4, + 17, + 22, + 2300, + 428310 + ], + [ + 4, + 18, + 19, + 2300, + 428310 + ], + [ + 4, + 18, + 20, + 2300, + 428310 + ], + [ + 4, + 18, + 21, + 2300, + 428310 + ], + [ + 4, + 18, + 22, + 2300, + 428310 + ], + [ + 4, + 19, + 20, + 2300, + 428310 + ], + [ + 4, + 19, + 21, + 2300, + 428310 + ], + [ + 4, + 19, + 22, + 2300, + 428310 + ], + [ + 4, + 20, + 21, + 2300, + 428310 + ], + [ + 4, + 20, + 22, + 2300, + 428310 + ], + [ + 4, + 21, + 22, + 2300, + 428310 + ], + [ + 5, + 6, + 7, + 2300, + 428310 + ], + [ + 5, + 6, + 8, + 2300, + 428310 + ], + [ + 5, + 6, + 9, + 2300, + 428310 + ], + [ + 5, + 6, + 10, + 2300, + 428310 + ], + [ + 5, + 6, + 11, + 2300, + 428310 + ], + [ + 5, + 6, + 12, + 2300, + 428310 + ], + [ + 5, + 6, + 13, + 2300, + 428310 + ], + [ + 5, + 6, + 14, + 2300, + 428310 + ], + [ + 5, + 6, + 15, + 2300, + 428310 + ], + [ + 5, + 6, + 16, + 2300, + 428310 + ], + [ + 5, + 6, + 17, + 2300, + 428310 + ], + [ + 5, + 6, + 18, + 2300, + 428310 + ], + [ + 5, + 6, + 19, + 2300, + 428310 + ], + [ + 5, + 6, + 20, + 2300, + 428310 + ], + [ + 5, + 6, + 21, + 2300, + 428310 + ], + [ + 5, + 6, + 22, + 2300, + 428310 + ], + [ + 5, + 7, + 8, + 2300, + 428310 + ], + [ + 5, + 7, + 9, + 2300, + 428310 + ], + [ + 5, + 7, + 10, + 2300, + 428310 + ], + [ + 5, + 7, + 11, + 2300, + 428310 + ], + [ + 5, + 7, + 12, + 2300, + 428310 + ], + [ + 5, + 7, + 13, + 2300, + 428310 + ], + [ + 5, + 7, + 14, + 2300, + 428310 + ], + [ + 5, + 7, + 15, + 2300, + 428310 + ], + [ + 5, + 7, + 16, + 2300, + 428310 + ], + [ + 5, + 7, + 17, + 2300, + 428310 + ], + [ + 5, + 7, + 18, + 2300, + 428310 + ], + [ + 5, + 7, + 19, + 2300, + 428310 + ], + [ + 5, + 7, + 20, + 2300, + 428310 + ], + [ + 5, + 7, + 21, + 2299, + 189775 + ], + [ + 5, + 7, + 22, + 2300, + 428310 + ], + [ + 5, + 8, + 9, + 2300, + 428310 + ], + [ + 5, + 8, + 10, + 2300, + 428310 + ], + [ + 5, + 8, + 11, + 2300, + 428310 + ], + [ + 5, + 8, + 12, + 2300, + 428310 + ], + [ + 5, + 8, + 13, + 2300, + 428310 + ], + [ + 5, + 8, + 14, + 2300, + 428310 + ], + [ + 5, + 8, + 15, + 2300, + 428310 + ], + [ + 5, + 8, + 16, + 2300, + 428310 + ], + [ + 5, + 8, + 17, + 2300, + 428310 + ], + [ + 5, + 8, + 18, + 2300, + 428310 + ], + [ + 5, + 8, + 19, + 2300, + 428310 + ], + [ + 5, + 8, + 20, + 2300, + 428310 + ], + [ + 5, + 8, + 21, + 2300, + 428310 + ], + [ + 5, + 8, + 22, + 2300, + 428310 + ], + [ + 5, + 9, + 10, + 2300, + 428310 + ], + [ + 5, + 9, + 11, + 2300, + 428310 + ], + [ + 5, + 9, + 12, + 2300, + 428310 + ], + [ + 5, + 9, + 13, + 2300, + 428310 + ], + [ + 5, + 9, + 14, + 2300, + 428310 + ], + [ + 5, + 9, + 15, + 2300, + 428310 + ], + [ + 5, + 9, + 16, + 2300, + 428310 + ], + [ + 5, + 9, + 17, + 2300, + 428310 + ], + [ + 5, + 9, + 18, + 2300, + 428310 + ], + [ + 5, + 9, + 19, + 2300, + 428310 + ], + [ + 5, + 9, + 20, + 2300, + 428310 + ], + [ + 5, + 9, + 21, + 2300, + 428310 + ], + [ + 5, + 9, + 22, + 2300, + 428310 + ], + [ + 5, + 10, + 11, + 2300, + 428310 + ], + [ + 5, + 10, + 12, + 2300, + 428310 + ], + [ + 5, + 10, + 13, + 2300, + 428310 + ], + [ + 5, + 10, + 14, + 2300, + 428310 + ], + [ + 5, + 10, + 15, + 2300, + 428310 + ], + [ + 5, + 10, + 16, + 2300, + 428310 + ], + [ + 5, + 10, + 17, + 2300, + 428310 + ], + [ + 5, + 10, + 18, + 2300, + 428310 + ], + [ + 5, + 10, + 19, + 2300, + 428310 + ], + [ + 5, + 10, + 20, + 2300, + 428310 + ], + [ + 5, + 10, + 21, + 2300, + 428310 + ], + [ + 5, + 10, + 22, + 2300, + 428310 + ], + [ + 5, + 11, + 12, + 2300, + 428310 + ], + [ + 5, + 11, + 13, + 2300, + 428310 + ], + [ + 5, + 11, + 14, + 2300, + 428310 + ], + [ + 5, + 11, + 15, + 2300, + 428310 + ], + [ + 5, + 11, + 16, + 2300, + 428310 + ], + [ + 5, + 11, + 17, + 2300, + 428310 + ], + [ + 5, + 11, + 18, + 2300, + 428310 + ], + [ + 5, + 11, + 19, + 2300, + 428310 + ], + [ + 5, + 11, + 20, + 2300, + 428310 + ], + [ + 5, + 11, + 21, + 2300, + 428310 + ], + [ + 5, + 11, + 22, + 2300, + 428310 + ], + [ + 5, + 12, + 13, + 2300, + 428310 + ], + [ + 5, + 12, + 14, + 2300, + 428310 + ], + [ + 5, + 12, + 15, + 2300, + 428310 + ], + [ + 5, + 12, + 16, + 2300, + 428310 + ], + [ + 5, + 12, + 17, + 2300, + 428310 + ], + [ + 5, + 12, + 18, + 2300, + 428310 + ], + [ + 5, + 12, + 19, + 2300, + 428310 + ], + [ + 5, + 12, + 20, + 2300, + 428310 + ], + [ + 5, + 12, + 21, + 2300, + 428310 + ], + [ + 5, + 12, + 22, + 2300, + 428310 + ], + [ + 5, + 13, + 14, + 2300, + 428310 + ], + [ + 5, + 13, + 15, + 2300, + 428310 + ], + [ + 5, + 13, + 16, + 2300, + 428310 + ], + [ + 5, + 13, + 17, + 2300, + 428310 + ], + [ + 5, + 13, + 18, + 2300, + 428310 + ], + [ + 5, + 13, + 19, + 2300, + 428310 + ], + [ + 5, + 13, + 20, + 2300, + 428310 + ], + [ + 5, + 13, + 21, + 2300, + 428310 + ], + [ + 5, + 13, + 22, + 2300, + 428310 + ], + [ + 5, + 14, + 15, + 2300, + 428310 + ], + [ + 5, + 14, + 16, + 2300, + 428310 + ], + [ + 5, + 14, + 17, + 2300, + 428310 + ], + [ + 5, + 14, + 18, + 2300, + 428310 + ], + [ + 5, + 14, + 19, + 2300, + 428310 + ], + [ + 5, + 14, + 20, + 2300, + 428310 + ], + [ + 5, + 14, + 21, + 2300, + 428310 + ], + [ + 5, + 14, + 22, + 2300, + 428310 + ], + [ + 5, + 15, + 16, + 2300, + 428310 + ], + [ + 5, + 15, + 17, + 2300, + 428310 + ], + [ + 5, + 15, + 18, + 2300, + 428310 + ], + [ + 5, + 15, + 19, + 2300, + 428310 + ], + [ + 5, + 15, + 20, + 2300, + 428310 + ], + [ + 5, + 15, + 21, + 2300, + 428310 + ], + [ + 5, + 15, + 22, + 2300, + 428310 + ], + [ + 5, + 16, + 17, + 2300, + 428310 + ], + [ + 5, + 16, + 18, + 2300, + 428310 + ], + [ + 5, + 16, + 19, + 2300, + 428310 + ], + [ + 5, + 16, + 20, + 2300, + 428310 + ], + [ + 5, + 16, + 21, + 2300, + 428310 + ], + [ + 5, + 16, + 22, + 2300, + 428310 + ], + [ + 5, + 17, + 18, + 2300, + 428310 + ], + [ + 5, + 17, + 19, + 2300, + 428310 + ], + [ + 5, + 17, + 20, + 2300, + 428310 + ], + [ + 5, + 17, + 21, + 2300, + 428310 + ], + [ + 5, + 17, + 22, + 2300, + 428310 + ], + [ + 5, + 18, + 19, + 2300, + 428310 + ], + [ + 5, + 18, + 20, + 2300, + 428310 + ], + [ + 5, + 18, + 21, + 2300, + 428310 + ], + [ + 5, + 18, + 22, + 2300, + 428310 + ], + [ + 5, + 19, + 20, + 2300, + 428310 + ], + [ + 5, + 19, + 21, + 2300, + 428310 + ], + [ + 5, + 19, + 22, + 2300, + 428310 + ], + [ + 5, + 20, + 21, + 2300, + 428310 + ], + [ + 5, + 20, + 22, + 2300, + 428310 + ], + [ + 5, + 21, + 22, + 2300, + 428310 + ], + [ + 6, + 7, + 8, + 2300, + 428310 + ], + [ + 6, + 7, + 9, + 2300, + 428310 + ], + [ + 6, + 7, + 10, + 2300, + 428310 + ], + [ + 6, + 7, + 11, + 2300, + 428310 + ], + [ + 6, + 7, + 12, + 2300, + 428310 + ], + [ + 6, + 7, + 13, + 2300, + 428310 + ], + [ + 6, + 7, + 14, + 2300, + 428310 + ], + [ + 6, + 7, + 15, + 2300, + 428310 + ], + [ + 6, + 7, + 16, + 2300, + 428310 + ], + [ + 6, + 7, + 17, + 2300, + 428310 + ], + [ + 6, + 7, + 18, + 2300, + 428310 + ], + [ + 6, + 7, + 19, + 2300, + 428310 + ], + [ + 6, + 7, + 20, + 2300, + 428310 + ], + [ + 6, + 7, + 21, + 2300, + 428310 + ], + [ + 6, + 7, + 22, + 2300, + 428310 + ], + [ + 6, + 8, + 9, + 2300, + 428310 + ], + [ + 6, + 8, + 10, + 2300, + 428310 + ], + [ + 6, + 8, + 11, + 2300, + 428310 + ], + [ + 6, + 8, + 12, + 2300, + 428310 + ], + [ + 6, + 8, + 13, + 2300, + 428310 + ], + [ + 6, + 8, + 14, + 2300, + 428310 + ], + [ + 6, + 8, + 15, + 2300, + 428310 + ], + [ + 6, + 8, + 16, + 2300, + 428310 + ], + [ + 6, + 8, + 17, + 2300, + 428310 + ], + [ + 6, + 8, + 18, + 2300, + 428310 + ], + [ + 6, + 8, + 19, + 2300, + 428310 + ], + [ + 6, + 8, + 20, + 2300, + 428310 + ], + [ + 6, + 8, + 21, + 2300, + 428310 + ], + [ + 6, + 8, + 22, + 2300, + 428310 + ], + [ + 6, + 9, + 10, + 2300, + 428310 + ], + [ + 6, + 9, + 11, + 2300, + 428310 + ], + [ + 6, + 9, + 12, + 2300, + 428310 + ], + [ + 6, + 9, + 13, + 2300, + 428310 + ], + [ + 6, + 9, + 14, + 2300, + 428310 + ], + [ + 6, + 9, + 15, + 2300, + 428310 + ], + [ + 6, + 9, + 16, + 2300, + 428310 + ], + [ + 6, + 9, + 17, + 2300, + 428310 + ], + [ + 6, + 9, + 18, + 2300, + 428310 + ], + [ + 6, + 9, + 19, + 2300, + 428310 + ], + [ + 6, + 9, + 20, + 2300, + 428310 + ], + [ + 6, + 9, + 21, + 2300, + 428310 + ], + [ + 6, + 9, + 22, + 2300, + 428310 + ], + [ + 6, + 10, + 11, + 2300, + 428310 + ], + [ + 6, + 10, + 12, + 2300, + 428310 + ], + [ + 6, + 10, + 13, + 2300, + 428310 + ], + [ + 6, + 10, + 14, + 2300, + 428310 + ], + [ + 6, + 10, + 15, + 2300, + 428310 + ], + [ + 6, + 10, + 16, + 2300, + 428310 + ], + [ + 6, + 10, + 17, + 2300, + 428310 + ], + [ + 6, + 10, + 18, + 2300, + 428310 + ], + [ + 6, + 10, + 19, + 2300, + 428310 + ], + [ + 6, + 10, + 20, + 2300, + 428310 + ], + [ + 6, + 10, + 21, + 2300, + 428310 + ], + [ + 6, + 10, + 22, + 2300, + 428310 + ], + [ + 6, + 11, + 12, + 2300, + 428310 + ], + [ + 6, + 11, + 13, + 2300, + 428310 + ], + [ + 6, + 11, + 14, + 2300, + 428310 + ], + [ + 6, + 11, + 15, + 2300, + 428310 + ], + [ + 6, + 11, + 16, + 2300, + 428310 + ], + [ + 6, + 11, + 17, + 2300, + 428310 + ], + [ + 6, + 11, + 18, + 2300, + 428310 + ], + [ + 6, + 11, + 19, + 2300, + 428310 + ], + [ + 6, + 11, + 20, + 2300, + 428310 + ], + [ + 6, + 11, + 21, + 2300, + 428310 + ], + [ + 6, + 11, + 22, + 2300, + 428310 + ], + [ + 6, + 12, + 13, + 2300, + 428310 + ], + [ + 6, + 12, + 14, + 2300, + 428310 + ], + [ + 6, + 12, + 15, + 2300, + 428310 + ], + [ + 6, + 12, + 16, + 2300, + 428310 + ], + [ + 6, + 12, + 17, + 2300, + 428310 + ], + [ + 6, + 12, + 18, + 2300, + 428310 + ], + [ + 6, + 12, + 19, + 2300, + 428310 + ], + [ + 6, + 12, + 20, + 2300, + 428310 + ], + [ + 6, + 12, + 21, + 2300, + 428310 + ], + [ + 6, + 12, + 22, + 2300, + 428310 + ], + [ + 6, + 13, + 14, + 2300, + 428310 + ], + [ + 6, + 13, + 15, + 2300, + 428310 + ], + [ + 6, + 13, + 16, + 2300, + 428310 + ], + [ + 6, + 13, + 17, + 2300, + 428310 + ], + [ + 6, + 13, + 18, + 2300, + 428310 + ], + [ + 6, + 13, + 19, + 2300, + 428310 + ], + [ + 6, + 13, + 20, + 2300, + 428310 + ], + [ + 6, + 13, + 21, + 2300, + 428310 + ], + [ + 6, + 13, + 22, + 2300, + 428310 + ], + [ + 6, + 14, + 15, + 2300, + 428310 + ], + [ + 6, + 14, + 16, + 2300, + 428310 + ], + [ + 6, + 14, + 17, + 2300, + 428310 + ], + [ + 6, + 14, + 18, + 2300, + 428310 + ], + [ + 6, + 14, + 19, + 2300, + 428310 + ], + [ + 6, + 14, + 20, + 2300, + 428310 + ], + [ + 6, + 14, + 21, + 2300, + 428310 + ], + [ + 6, + 14, + 22, + 2300, + 428310 + ], + [ + 6, + 15, + 16, + 2300, + 428310 + ], + [ + 6, + 15, + 17, + 2300, + 428310 + ], + [ + 6, + 15, + 18, + 2300, + 428310 + ], + [ + 6, + 15, + 19, + 2300, + 428310 + ], + [ + 6, + 15, + 20, + 2300, + 428310 + ], + [ + 6, + 15, + 21, + 2300, + 428310 + ], + [ + 6, + 15, + 22, + 2300, + 428310 + ], + [ + 6, + 16, + 17, + 2300, + 428310 + ], + [ + 6, + 16, + 18, + 2300, + 428310 + ], + [ + 6, + 16, + 19, + 2300, + 428310 + ], + [ + 6, + 16, + 20, + 2300, + 428310 + ], + [ + 6, + 16, + 21, + 2300, + 428310 + ], + [ + 6, + 16, + 22, + 2300, + 428310 + ], + [ + 6, + 17, + 18, + 2300, + 428310 + ], + [ + 6, + 17, + 19, + 2300, + 428310 + ], + [ + 6, + 17, + 20, + 2300, + 428310 + ], + [ + 6, + 17, + 21, + 2300, + 428310 + ], + [ + 6, + 17, + 22, + 2300, + 428310 + ], + [ + 6, + 18, + 19, + 2300, + 428310 + ], + [ + 6, + 18, + 20, + 2300, + 428310 + ], + [ + 6, + 18, + 21, + 2300, + 428310 + ], + [ + 6, + 18, + 22, + 2300, + 428310 + ], + [ + 6, + 19, + 20, + 2300, + 428310 + ], + [ + 6, + 19, + 21, + 2300, + 428310 + ], + [ + 6, + 19, + 22, + 2300, + 428310 + ], + [ + 6, + 20, + 21, + 2300, + 428310 + ], + [ + 6, + 20, + 22, + 2300, + 428310 + ], + [ + 6, + 21, + 22, + 2300, + 428310 + ], + [ + 7, + 8, + 9, + 2300, + 428310 + ], + [ + 7, + 8, + 10, + 2300, + 428310 + ], + [ + 7, + 8, + 11, + 2300, + 428310 + ], + [ + 7, + 8, + 12, + 2300, + 428310 + ], + [ + 7, + 8, + 13, + 2300, + 428310 + ], + [ + 7, + 8, + 14, + 2300, + 428310 + ], + [ + 7, + 8, + 15, + 2300, + 428310 + ], + [ + 7, + 8, + 16, + 2300, + 428310 + ], + [ + 7, + 8, + 17, + 2300, + 428310 + ], + [ + 7, + 8, + 18, + 2300, + 428310 + ], + [ + 7, + 8, + 19, + 2300, + 428310 + ], + [ + 7, + 8, + 20, + 2300, + 428310 + ], + [ + 7, + 8, + 21, + 2300, + 428310 + ], + [ + 7, + 8, + 22, + 2300, + 428310 + ], + [ + 7, + 9, + 10, + 2300, + 428310 + ], + [ + 7, + 9, + 11, + 2300, + 428310 + ], + [ + 7, + 9, + 12, + 2300, + 428310 + ], + [ + 7, + 9, + 13, + 2300, + 428310 + ], + [ + 7, + 9, + 14, + 2300, + 428310 + ], + [ + 7, + 9, + 15, + 2300, + 428310 + ], + [ + 7, + 9, + 16, + 2300, + 428310 + ], + [ + 7, + 9, + 17, + 2300, + 428310 + ], + [ + 7, + 9, + 18, + 2300, + 428310 + ], + [ + 7, + 9, + 19, + 2300, + 428310 + ], + [ + 7, + 9, + 20, + 2300, + 428310 + ], + [ + 7, + 9, + 21, + 2300, + 428310 + ], + [ + 7, + 9, + 22, + 2300, + 428310 + ], + [ + 7, + 10, + 11, + 2300, + 428310 + ], + [ + 7, + 10, + 12, + 2300, + 428310 + ], + [ + 7, + 10, + 13, + 2300, + 428310 + ], + [ + 7, + 10, + 14, + 2300, + 428310 + ], + [ + 7, + 10, + 15, + 2300, + 428310 + ], + [ + 7, + 10, + 16, + 2300, + 428310 + ], + [ + 7, + 10, + 17, + 2300, + 428310 + ], + [ + 7, + 10, + 18, + 2300, + 428310 + ], + [ + 7, + 10, + 19, + 2300, + 428310 + ], + [ + 7, + 10, + 20, + 2300, + 428310 + ], + [ + 7, + 10, + 21, + 2300, + 428310 + ], + [ + 7, + 10, + 22, + 2300, + 428310 + ], + [ + 7, + 11, + 12, + 2300, + 428310 + ], + [ + 7, + 11, + 13, + 2300, + 428310 + ], + [ + 7, + 11, + 14, + 2300, + 428310 + ], + [ + 7, + 11, + 15, + 2300, + 428310 + ], + [ + 7, + 11, + 16, + 2300, + 428310 + ], + [ + 7, + 11, + 17, + 2300, + 428310 + ], + [ + 7, + 11, + 18, + 2300, + 428310 + ], + [ + 7, + 11, + 19, + 2300, + 428310 + ], + [ + 7, + 11, + 20, + 2300, + 428310 + ], + [ + 7, + 11, + 21, + 2300, + 428310 + ], + [ + 7, + 11, + 22, + 2300, + 428310 + ], + [ + 7, + 12, + 13, + 2300, + 428310 + ], + [ + 7, + 12, + 14, + 2300, + 428310 + ], + [ + 7, + 12, + 15, + 2300, + 428310 + ], + [ + 7, + 12, + 16, + 2300, + 428310 + ], + [ + 7, + 12, + 17, + 2300, + 428310 + ], + [ + 7, + 12, + 18, + 2300, + 428310 + ], + [ + 7, + 12, + 19, + 2300, + 428310 + ], + [ + 7, + 12, + 20, + 2300, + 428310 + ], + [ + 7, + 12, + 21, + 2300, + 428310 + ], + [ + 7, + 12, + 22, + 2300, + 428310 + ], + [ + 7, + 13, + 14, + 2300, + 428310 + ], + [ + 7, + 13, + 15, + 2300, + 428310 + ], + [ + 7, + 13, + 16, + 2300, + 428310 + ], + [ + 7, + 13, + 17, + 2300, + 428310 + ], + [ + 7, + 13, + 18, + 2300, + 428310 + ], + [ + 7, + 13, + 19, + 2300, + 428310 + ], + [ + 7, + 13, + 20, + 2300, + 428310 + ], + [ + 7, + 13, + 21, + 2300, + 428310 + ], + [ + 7, + 13, + 22, + 2300, + 428310 + ], + [ + 7, + 14, + 15, + 2300, + 428310 + ], + [ + 7, + 14, + 16, + 2300, + 428310 + ], + [ + 7, + 14, + 17, + 2300, + 428310 + ], + [ + 7, + 14, + 18, + 2300, + 428310 + ], + [ + 7, + 14, + 19, + 2300, + 428310 + ], + [ + 7, + 14, + 20, + 2300, + 428310 + ], + [ + 7, + 14, + 21, + 2300, + 428310 + ], + [ + 7, + 14, + 22, + 2300, + 428310 + ], + [ + 7, + 15, + 16, + 2300, + 428310 + ], + [ + 7, + 15, + 17, + 2300, + 428310 + ], + [ + 7, + 15, + 18, + 2300, + 428310 + ], + [ + 7, + 15, + 19, + 2300, + 428310 + ], + [ + 7, + 15, + 20, + 2300, + 428310 + ], + [ + 7, + 15, + 21, + 2300, + 428310 + ], + [ + 7, + 15, + 22, + 2300, + 428310 + ], + [ + 7, + 16, + 17, + 2300, + 428310 + ], + [ + 7, + 16, + 18, + 2300, + 428310 + ], + [ + 7, + 16, + 19, + 2300, + 428310 + ], + [ + 7, + 16, + 20, + 2300, + 428310 + ], + [ + 7, + 16, + 21, + 2300, + 428310 + ], + [ + 7, + 16, + 22, + 2300, + 428310 + ], + [ + 7, + 17, + 18, + 2300, + 428310 + ], + [ + 7, + 17, + 19, + 2300, + 428310 + ], + [ + 7, + 17, + 20, + 2300, + 428310 + ], + [ + 7, + 17, + 21, + 2300, + 428310 + ], + [ + 7, + 17, + 22, + 2300, + 428310 + ], + [ + 7, + 18, + 19, + 2300, + 428310 + ], + [ + 7, + 18, + 20, + 2300, + 428310 + ], + [ + 7, + 18, + 21, + 2300, + 428310 + ], + [ + 7, + 18, + 22, + 2300, + 428310 + ], + [ + 7, + 19, + 20, + 2300, + 428310 + ], + [ + 7, + 19, + 21, + 2300, + 428310 + ], + [ + 7, + 19, + 22, + 2300, + 428310 + ], + [ + 7, + 20, + 21, + 2300, + 428310 + ], + [ + 7, + 20, + 22, + 2300, + 428310 + ], + [ + 7, + 21, + 22, + 2300, + 428310 + ], + [ + 8, + 9, + 10, + 2300, + 428310 + ], + [ + 8, + 9, + 11, + 2300, + 428310 + ], + [ + 8, + 9, + 12, + 2300, + 428310 + ], + [ + 8, + 9, + 13, + 2300, + 428310 + ], + [ + 8, + 9, + 14, + 2300, + 428310 + ], + [ + 8, + 9, + 15, + 2300, + 428310 + ], + [ + 8, + 9, + 16, + 2300, + 428310 + ], + [ + 8, + 9, + 17, + 2300, + 428310 + ], + [ + 8, + 9, + 18, + 2300, + 428310 + ], + [ + 8, + 9, + 19, + 2300, + 428310 + ], + [ + 8, + 9, + 20, + 2300, + 428310 + ], + [ + 8, + 9, + 21, + 2300, + 428310 + ], + [ + 8, + 9, + 22, + 2300, + 428310 + ], + [ + 8, + 10, + 11, + 2300, + 428310 + ], + [ + 8, + 10, + 12, + 2300, + 428310 + ], + [ + 8, + 10, + 13, + 2300, + 428310 + ], + [ + 8, + 10, + 14, + 2300, + 428310 + ], + [ + 8, + 10, + 15, + 2300, + 428310 + ], + [ + 8, + 10, + 16, + 2300, + 428310 + ], + [ + 8, + 10, + 17, + 2300, + 428310 + ], + [ + 8, + 10, + 18, + 2300, + 428310 + ], + [ + 8, + 10, + 19, + 2300, + 428310 + ], + [ + 8, + 10, + 20, + 2300, + 428310 + ], + [ + 8, + 10, + 21, + 2300, + 428310 + ], + [ + 8, + 10, + 22, + 2300, + 428310 + ], + [ + 8, + 11, + 12, + 2300, + 428310 + ], + [ + 8, + 11, + 13, + 2300, + 428310 + ], + [ + 8, + 11, + 14, + 2300, + 428310 + ], + [ + 8, + 11, + 15, + 2300, + 428310 + ], + [ + 8, + 11, + 16, + 2300, + 428310 + ], + [ + 8, + 11, + 17, + 2300, + 428310 + ], + [ + 8, + 11, + 18, + 2300, + 428310 + ], + [ + 8, + 11, + 19, + 2300, + 428310 + ], + [ + 8, + 11, + 20, + 2300, + 428310 + ], + [ + 8, + 11, + 21, + 2300, + 428310 + ], + [ + 8, + 11, + 22, + 2300, + 428310 + ], + [ + 8, + 12, + 13, + 2300, + 428310 + ], + [ + 8, + 12, + 14, + 2300, + 428310 + ], + [ + 8, + 12, + 15, + 2300, + 428310 + ], + [ + 8, + 12, + 16, + 2300, + 428310 + ], + [ + 8, + 12, + 17, + 2300, + 428310 + ], + [ + 8, + 12, + 18, + 2300, + 428310 + ], + [ + 8, + 12, + 19, + 2300, + 428310 + ], + [ + 8, + 12, + 20, + 2300, + 428310 + ], + [ + 8, + 12, + 21, + 2300, + 428310 + ], + [ + 8, + 12, + 22, + 2300, + 428310 + ], + [ + 8, + 13, + 14, + 2300, + 428310 + ], + [ + 8, + 13, + 15, + 2300, + 428310 + ], + [ + 8, + 13, + 16, + 2300, + 428310 + ], + [ + 8, + 13, + 17, + 2300, + 428310 + ], + [ + 8, + 13, + 18, + 2300, + 428310 + ], + [ + 8, + 13, + 19, + 2300, + 428310 + ], + [ + 8, + 13, + 20, + 2300, + 428310 + ], + [ + 8, + 13, + 21, + 2300, + 428310 + ], + [ + 8, + 13, + 22, + 2300, + 428310 + ], + [ + 8, + 14, + 15, + 2300, + 428310 + ], + [ + 8, + 14, + 16, + 2300, + 428310 + ], + [ + 8, + 14, + 17, + 2300, + 428310 + ], + [ + 8, + 14, + 18, + 2300, + 428310 + ], + [ + 8, + 14, + 19, + 2300, + 428310 + ], + [ + 8, + 14, + 20, + 2300, + 428310 + ], + [ + 8, + 14, + 21, + 2300, + 428310 + ], + [ + 8, + 14, + 22, + 2300, + 428310 + ], + [ + 8, + 15, + 16, + 2300, + 428310 + ], + [ + 8, + 15, + 17, + 2300, + 428310 + ], + [ + 8, + 15, + 18, + 2300, + 428310 + ], + [ + 8, + 15, + 19, + 2300, + 428310 + ], + [ + 8, + 15, + 20, + 2300, + 428310 + ], + [ + 8, + 15, + 21, + 2300, + 428310 + ], + [ + 8, + 15, + 22, + 2300, + 428310 + ], + [ + 8, + 16, + 17, + 2300, + 428310 + ], + [ + 8, + 16, + 18, + 2300, + 428310 + ], + [ + 8, + 16, + 19, + 2300, + 428310 + ], + [ + 8, + 16, + 20, + 2300, + 428310 + ], + [ + 8, + 16, + 21, + 2300, + 428310 + ], + [ + 8, + 16, + 22, + 2300, + 428310 + ], + [ + 8, + 17, + 18, + 2300, + 428310 + ], + [ + 8, + 17, + 19, + 2300, + 428310 + ], + [ + 8, + 17, + 20, + 2300, + 428310 + ], + [ + 8, + 17, + 21, + 2300, + 428310 + ], + [ + 8, + 17, + 22, + 2300, + 428310 + ], + [ + 8, + 18, + 19, + 2300, + 428310 + ], + [ + 8, + 18, + 20, + 2300, + 428310 + ], + [ + 8, + 18, + 21, + 2300, + 428310 + ], + [ + 8, + 18, + 22, + 2300, + 428310 + ], + [ + 8, + 19, + 20, + 2300, + 428310 + ], + [ + 8, + 19, + 21, + 2300, + 428310 + ], + [ + 8, + 19, + 22, + 2300, + 428310 + ], + [ + 8, + 20, + 21, + 2300, + 428310 + ], + [ + 8, + 20, + 22, + 2300, + 428310 + ], + [ + 8, + 21, + 22, + 2300, + 428310 + ], + [ + 9, + 10, + 11, + 2300, + 428310 + ], + [ + 9, + 10, + 12, + 2300, + 428310 + ], + [ + 9, + 10, + 13, + 2300, + 428310 + ], + [ + 9, + 10, + 14, + 2300, + 428310 + ], + [ + 9, + 10, + 15, + 2300, + 428310 + ], + [ + 9, + 10, + 16, + 2300, + 428310 + ], + [ + 9, + 10, + 17, + 2300, + 428310 + ], + [ + 9, + 10, + 18, + 2300, + 428310 + ], + [ + 9, + 10, + 19, + 2300, + 428310 + ], + [ + 9, + 10, + 20, + 2300, + 428310 + ], + [ + 9, + 10, + 21, + 2300, + 428310 + ], + [ + 9, + 10, + 22, + 2300, + 428310 + ], + [ + 9, + 11, + 12, + 2300, + 428310 + ], + [ + 9, + 11, + 13, + 2300, + 428310 + ], + [ + 9, + 11, + 14, + 2300, + 428310 + ], + [ + 9, + 11, + 15, + 2300, + 428310 + ], + [ + 9, + 11, + 16, + 2300, + 428310 + ], + [ + 9, + 11, + 17, + 2300, + 428310 + ], + [ + 9, + 11, + 18, + 2300, + 428310 + ], + [ + 9, + 11, + 19, + 2300, + 428310 + ], + [ + 9, + 11, + 20, + 2300, + 428310 + ], + [ + 9, + 11, + 21, + 2300, + 428310 + ], + [ + 9, + 11, + 22, + 2300, + 428310 + ], + [ + 9, + 12, + 13, + 2300, + 428310 + ], + [ + 9, + 12, + 14, + 2300, + 428310 + ], + [ + 9, + 12, + 15, + 2300, + 428310 + ], + [ + 9, + 12, + 16, + 2300, + 428310 + ], + [ + 9, + 12, + 17, + 2300, + 428310 + ], + [ + 9, + 12, + 18, + 2300, + 428310 + ], + [ + 9, + 12, + 19, + 2300, + 428310 + ], + [ + 9, + 12, + 20, + 2300, + 428310 + ], + [ + 9, + 12, + 21, + 2300, + 428310 + ], + [ + 9, + 12, + 22, + 2300, + 428310 + ], + [ + 9, + 13, + 14, + 2300, + 428310 + ], + [ + 9, + 13, + 15, + 2300, + 428310 + ], + [ + 9, + 13, + 16, + 2300, + 428310 + ], + [ + 9, + 13, + 17, + 2300, + 428310 + ], + [ + 9, + 13, + 18, + 2300, + 428310 + ], + [ + 9, + 13, + 19, + 2300, + 428310 + ], + [ + 9, + 13, + 20, + 2300, + 428310 + ], + [ + 9, + 13, + 21, + 2300, + 428310 + ], + [ + 9, + 13, + 22, + 2300, + 428310 + ], + [ + 9, + 14, + 15, + 2300, + 428310 + ], + [ + 9, + 14, + 16, + 2300, + 428310 + ], + [ + 9, + 14, + 17, + 2300, + 428310 + ], + [ + 9, + 14, + 18, + 2300, + 428310 + ], + [ + 9, + 14, + 19, + 2300, + 428310 + ], + [ + 9, + 14, + 20, + 2300, + 428310 + ], + [ + 9, + 14, + 21, + 2300, + 428310 + ], + [ + 9, + 14, + 22, + 2300, + 428310 + ], + [ + 9, + 15, + 16, + 2300, + 428310 + ], + [ + 9, + 15, + 17, + 2300, + 428310 + ], + [ + 9, + 15, + 18, + 2300, + 428310 + ], + [ + 9, + 15, + 19, + 2300, + 428310 + ], + [ + 9, + 15, + 20, + 2300, + 428310 + ], + [ + 9, + 15, + 21, + 2300, + 428310 + ], + [ + 9, + 15, + 22, + 2300, + 428310 + ], + [ + 9, + 16, + 17, + 2300, + 428310 + ], + [ + 9, + 16, + 18, + 2300, + 428310 + ], + [ + 9, + 16, + 19, + 2300, + 428310 + ], + [ + 9, + 16, + 20, + 2300, + 428310 + ], + [ + 9, + 16, + 21, + 2300, + 428310 + ], + [ + 9, + 16, + 22, + 2300, + 428310 + ], + [ + 9, + 17, + 18, + 2300, + 428310 + ], + [ + 9, + 17, + 19, + 2300, + 428310 + ], + [ + 9, + 17, + 20, + 2300, + 428310 + ], + [ + 9, + 17, + 21, + 2300, + 428310 + ], + [ + 9, + 17, + 22, + 2300, + 428310 + ], + [ + 9, + 18, + 19, + 2300, + 428310 + ], + [ + 9, + 18, + 20, + 2300, + 428310 + ], + [ + 9, + 18, + 21, + 2300, + 428310 + ], + [ + 9, + 18, + 22, + 2300, + 428310 + ], + [ + 9, + 19, + 20, + 2300, + 428310 + ], + [ + 9, + 19, + 21, + 2300, + 428310 + ], + [ + 9, + 19, + 22, + 2300, + 428310 + ], + [ + 9, + 20, + 21, + 2300, + 428310 + ], + [ + 9, + 20, + 22, + 2300, + 428310 + ], + [ + 9, + 21, + 22, + 2300, + 428310 + ], + [ + 10, + 11, + 12, + 2300, + 428310 + ], + [ + 10, + 11, + 13, + 2300, + 428310 + ], + [ + 10, + 11, + 14, + 2300, + 428310 + ], + [ + 10, + 11, + 15, + 2300, + 428310 + ], + [ + 10, + 11, + 16, + 2300, + 428310 + ], + [ + 10, + 11, + 17, + 2300, + 428310 + ], + [ + 10, + 11, + 18, + 2300, + 428310 + ], + [ + 10, + 11, + 19, + 2300, + 428310 + ], + [ + 10, + 11, + 20, + 2300, + 428310 + ], + [ + 10, + 11, + 21, + 2300, + 428310 + ], + [ + 10, + 11, + 22, + 2299, + 189775 + ], + [ + 10, + 12, + 13, + 2300, + 428310 + ], + [ + 10, + 12, + 14, + 2300, + 428310 + ], + [ + 10, + 12, + 15, + 2300, + 428310 + ], + [ + 10, + 12, + 16, + 2300, + 428310 + ], + [ + 10, + 12, + 17, + 2300, + 428310 + ], + [ + 10, + 12, + 18, + 2300, + 428310 + ], + [ + 10, + 12, + 19, + 2300, + 428310 + ], + [ + 10, + 12, + 20, + 2300, + 428310 + ], + [ + 10, + 12, + 21, + 2300, + 428310 + ], + [ + 10, + 12, + 22, + 2300, + 428310 + ], + [ + 10, + 13, + 14, + 2300, + 428310 + ], + [ + 10, + 13, + 15, + 2300, + 428310 + ], + [ + 10, + 13, + 16, + 2300, + 428310 + ], + [ + 10, + 13, + 17, + 2300, + 428310 + ], + [ + 10, + 13, + 18, + 2300, + 428310 + ], + [ + 10, + 13, + 19, + 2300, + 428310 + ], + [ + 10, + 13, + 20, + 2300, + 428310 + ], + [ + 10, + 13, + 21, + 2300, + 428310 + ], + [ + 10, + 13, + 22, + 2300, + 428310 + ], + [ + 10, + 14, + 15, + 2300, + 428310 + ], + [ + 10, + 14, + 16, + 2300, + 428310 + ], + [ + 10, + 14, + 17, + 2300, + 428310 + ], + [ + 10, + 14, + 18, + 2300, + 428310 + ], + [ + 10, + 14, + 19, + 2300, + 428310 + ], + [ + 10, + 14, + 20, + 2300, + 428310 + ], + [ + 10, + 14, + 21, + 2300, + 428310 + ], + [ + 10, + 14, + 22, + 2300, + 428310 + ], + [ + 10, + 15, + 16, + 2300, + 428310 + ], + [ + 10, + 15, + 17, + 2300, + 428310 + ], + [ + 10, + 15, + 18, + 2300, + 428310 + ], + [ + 10, + 15, + 19, + 2300, + 428310 + ], + [ + 10, + 15, + 20, + 2300, + 428310 + ], + [ + 10, + 15, + 21, + 2300, + 428310 + ], + [ + 10, + 15, + 22, + 2300, + 428310 + ], + [ + 10, + 16, + 17, + 2300, + 428310 + ], + [ + 10, + 16, + 18, + 2300, + 428310 + ], + [ + 10, + 16, + 19, + 2300, + 428310 + ], + [ + 10, + 16, + 20, + 2300, + 428310 + ], + [ + 10, + 16, + 21, + 2300, + 428310 + ], + [ + 10, + 16, + 22, + 2300, + 428310 + ], + [ + 10, + 17, + 18, + 2300, + 428310 + ], + [ + 10, + 17, + 19, + 2300, + 428310 + ], + [ + 10, + 17, + 20, + 2300, + 428310 + ], + [ + 10, + 17, + 21, + 2300, + 428310 + ], + [ + 10, + 17, + 22, + 2300, + 428310 + ], + [ + 10, + 18, + 19, + 2300, + 428310 + ], + [ + 10, + 18, + 20, + 2300, + 428310 + ], + [ + 10, + 18, + 21, + 2300, + 428310 + ], + [ + 10, + 18, + 22, + 2300, + 428310 + ], + [ + 10, + 19, + 20, + 2300, + 428310 + ], + [ + 10, + 19, + 21, + 2300, + 428310 + ], + [ + 10, + 19, + 22, + 2300, + 428310 + ], + [ + 10, + 20, + 21, + 2300, + 428310 + ], + [ + 10, + 20, + 22, + 2300, + 428310 + ], + [ + 10, + 21, + 22, + 2300, + 428310 + ], + [ + 11, + 12, + 13, + 2300, + 428310 + ], + [ + 11, + 12, + 14, + 2300, + 428310 + ], + [ + 11, + 12, + 15, + 2300, + 428310 + ], + [ + 11, + 12, + 16, + 2300, + 428310 + ], + [ + 11, + 12, + 17, + 2300, + 428310 + ], + [ + 11, + 12, + 18, + 2300, + 428310 + ], + [ + 11, + 12, + 19, + 2300, + 428310 + ], + [ + 11, + 12, + 20, + 2300, + 428310 + ], + [ + 11, + 12, + 21, + 2300, + 428310 + ], + [ + 11, + 12, + 22, + 2300, + 428310 + ], + [ + 11, + 13, + 14, + 2300, + 428310 + ], + [ + 11, + 13, + 15, + 2300, + 428310 + ], + [ + 11, + 13, + 16, + 2300, + 428310 + ], + [ + 11, + 13, + 17, + 2300, + 428310 + ], + [ + 11, + 13, + 18, + 2300, + 428310 + ], + [ + 11, + 13, + 19, + 2300, + 428310 + ], + [ + 11, + 13, + 20, + 2300, + 428310 + ], + [ + 11, + 13, + 21, + 2300, + 428310 + ], + [ + 11, + 13, + 22, + 2300, + 428310 + ], + [ + 11, + 14, + 15, + 2300, + 428310 + ], + [ + 11, + 14, + 16, + 2300, + 428310 + ], + [ + 11, + 14, + 17, + 2300, + 428310 + ], + [ + 11, + 14, + 18, + 2300, + 428310 + ], + [ + 11, + 14, + 19, + 2300, + 428310 + ], + [ + 11, + 14, + 20, + 2300, + 428310 + ], + [ + 11, + 14, + 21, + 2300, + 428310 + ], + [ + 11, + 14, + 22, + 2300, + 428310 + ], + [ + 11, + 15, + 16, + 2300, + 428310 + ], + [ + 11, + 15, + 17, + 2300, + 428310 + ], + [ + 11, + 15, + 18, + 2300, + 428310 + ], + [ + 11, + 15, + 19, + 2300, + 428310 + ], + [ + 11, + 15, + 20, + 2300, + 428310 + ], + [ + 11, + 15, + 21, + 2300, + 428310 + ], + [ + 11, + 15, + 22, + 2300, + 428310 + ], + [ + 11, + 16, + 17, + 2300, + 428310 + ], + [ + 11, + 16, + 18, + 2300, + 428310 + ], + [ + 11, + 16, + 19, + 2300, + 428310 + ], + [ + 11, + 16, + 20, + 2300, + 428310 + ], + [ + 11, + 16, + 21, + 2300, + 428310 + ], + [ + 11, + 16, + 22, + 2300, + 428310 + ], + [ + 11, + 17, + 18, + 2300, + 428310 + ], + [ + 11, + 17, + 19, + 2300, + 428310 + ], + [ + 11, + 17, + 20, + 2300, + 428310 + ], + [ + 11, + 17, + 21, + 2300, + 428310 + ], + [ + 11, + 17, + 22, + 2300, + 428310 + ], + [ + 11, + 18, + 19, + 2300, + 428310 + ], + [ + 11, + 18, + 20, + 2300, + 428310 + ], + [ + 11, + 18, + 21, + 2300, + 428310 + ], + [ + 11, + 18, + 22, + 2300, + 428310 + ], + [ + 11, + 19, + 20, + 2300, + 428310 + ], + [ + 11, + 19, + 21, + 2300, + 428310 + ], + [ + 11, + 19, + 22, + 2300, + 428310 + ], + [ + 11, + 20, + 21, + 2300, + 428310 + ], + [ + 11, + 20, + 22, + 2300, + 428310 + ], + [ + 11, + 21, + 22, + 2300, + 428310 + ], + [ + 12, + 13, + 14, + 2300, + 428310 + ], + [ + 12, + 13, + 15, + 2300, + 428310 + ], + [ + 12, + 13, + 16, + 2300, + 428310 + ], + [ + 12, + 13, + 17, + 2300, + 428310 + ], + [ + 12, + 13, + 18, + 2300, + 428310 + ], + [ + 12, + 13, + 19, + 2300, + 428310 + ], + [ + 12, + 13, + 20, + 2300, + 428310 + ], + [ + 12, + 13, + 21, + 2300, + 428310 + ], + [ + 12, + 13, + 22, + 2299, + 189775 + ], + [ + 12, + 14, + 15, + 2300, + 428310 + ], + [ + 12, + 14, + 16, + 2300, + 428310 + ], + [ + 12, + 14, + 17, + 2300, + 428310 + ], + [ + 12, + 14, + 18, + 2300, + 428310 + ], + [ + 12, + 14, + 19, + 2300, + 428310 + ], + [ + 12, + 14, + 20, + 2300, + 428310 + ], + [ + 12, + 14, + 21, + 2300, + 428310 + ], + [ + 12, + 14, + 22, + 2300, + 428310 + ], + [ + 12, + 15, + 16, + 2300, + 428310 + ], + [ + 12, + 15, + 17, + 2300, + 428310 + ], + [ + 12, + 15, + 18, + 2300, + 428310 + ], + [ + 12, + 15, + 19, + 2300, + 428310 + ], + [ + 12, + 15, + 20, + 2300, + 428310 + ], + [ + 12, + 15, + 21, + 2300, + 428310 + ], + [ + 12, + 15, + 22, + 2300, + 428310 + ], + [ + 12, + 16, + 17, + 2300, + 428310 + ], + [ + 12, + 16, + 18, + 2300, + 428310 + ], + [ + 12, + 16, + 19, + 2300, + 428310 + ], + [ + 12, + 16, + 20, + 2300, + 428310 + ], + [ + 12, + 16, + 21, + 2300, + 428310 + ], + [ + 12, + 16, + 22, + 2300, + 428310 + ], + [ + 12, + 17, + 18, + 2300, + 428310 + ], + [ + 12, + 17, + 19, + 2300, + 428310 + ], + [ + 12, + 17, + 20, + 2300, + 428310 + ], + [ + 12, + 17, + 21, + 2300, + 428310 + ], + [ + 12, + 17, + 22, + 2300, + 428310 + ], + [ + 12, + 18, + 19, + 2300, + 428310 + ], + [ + 12, + 18, + 20, + 2300, + 428310 + ], + [ + 12, + 18, + 21, + 2300, + 428310 + ], + [ + 12, + 18, + 22, + 2300, + 428310 + ], + [ + 12, + 19, + 20, + 2300, + 428310 + ], + [ + 12, + 19, + 21, + 2300, + 428310 + ], + [ + 12, + 19, + 22, + 2300, + 428310 + ], + [ + 12, + 20, + 21, + 2300, + 428310 + ], + [ + 12, + 20, + 22, + 2300, + 428310 + ], + [ + 12, + 21, + 22, + 2300, + 428310 + ], + [ + 13, + 14, + 15, + 2300, + 428310 + ], + [ + 13, + 14, + 16, + 2300, + 428310 + ], + [ + 13, + 14, + 17, + 2300, + 428310 + ], + [ + 13, + 14, + 18, + 2300, + 428310 + ], + [ + 13, + 14, + 19, + 2300, + 428310 + ], + [ + 13, + 14, + 20, + 2300, + 428310 + ], + [ + 13, + 14, + 21, + 2300, + 428310 + ], + [ + 13, + 14, + 22, + 2300, + 428310 + ], + [ + 13, + 15, + 16, + 2300, + 428310 + ], + [ + 13, + 15, + 17, + 2300, + 428310 + ], + [ + 13, + 15, + 18, + 2300, + 428310 + ], + [ + 13, + 15, + 19, + 2300, + 428310 + ], + [ + 13, + 15, + 20, + 2300, + 428310 + ], + [ + 13, + 15, + 21, + 2300, + 428310 + ], + [ + 13, + 15, + 22, + 2300, + 428310 + ], + [ + 13, + 16, + 17, + 2300, + 428310 + ], + [ + 13, + 16, + 18, + 2300, + 428310 + ], + [ + 13, + 16, + 19, + 2300, + 428310 + ], + [ + 13, + 16, + 20, + 2300, + 428310 + ], + [ + 13, + 16, + 21, + 2300, + 428310 + ], + [ + 13, + 16, + 22, + 2300, + 428310 + ], + [ + 13, + 17, + 18, + 2300, + 428310 + ], + [ + 13, + 17, + 19, + 2300, + 428310 + ], + [ + 13, + 17, + 20, + 2300, + 428310 + ], + [ + 13, + 17, + 21, + 2300, + 428310 + ], + [ + 13, + 17, + 22, + 2300, + 428310 + ], + [ + 13, + 18, + 19, + 2300, + 428310 + ], + [ + 13, + 18, + 20, + 2300, + 428310 + ], + [ + 13, + 18, + 21, + 2300, + 428310 + ], + [ + 13, + 18, + 22, + 2300, + 428310 + ], + [ + 13, + 19, + 20, + 2300, + 428310 + ], + [ + 13, + 19, + 21, + 2300, + 428310 + ], + [ + 13, + 19, + 22, + 2300, + 428310 + ], + [ + 13, + 20, + 21, + 2300, + 428310 + ], + [ + 13, + 20, + 22, + 2300, + 428310 + ], + [ + 13, + 21, + 22, + 2300, + 428310 + ], + [ + 14, + 15, + 16, + 2300, + 428310 + ], + [ + 14, + 15, + 17, + 2300, + 428310 + ], + [ + 14, + 15, + 18, + 2300, + 428310 + ], + [ + 14, + 15, + 19, + 2300, + 428310 + ], + [ + 14, + 15, + 20, + 2300, + 428310 + ], + [ + 14, + 15, + 21, + 2300, + 428310 + ], + [ + 14, + 15, + 22, + 2300, + 428310 + ], + [ + 14, + 16, + 17, + 2300, + 428310 + ], + [ + 14, + 16, + 18, + 2300, + 428310 + ], + [ + 14, + 16, + 19, + 2300, + 428310 + ], + [ + 14, + 16, + 20, + 2300, + 428310 + ], + [ + 14, + 16, + 21, + 2300, + 428310 + ], + [ + 14, + 16, + 22, + 2300, + 428310 + ], + [ + 14, + 17, + 18, + 2300, + 428310 + ], + [ + 14, + 17, + 19, + 2300, + 428310 + ], + [ + 14, + 17, + 20, + 2300, + 428310 + ], + [ + 14, + 17, + 21, + 2300, + 428310 + ], + [ + 14, + 17, + 22, + 2300, + 428310 + ], + [ + 14, + 18, + 19, + 2300, + 428310 + ], + [ + 14, + 18, + 20, + 2300, + 428310 + ], + [ + 14, + 18, + 21, + 2300, + 428310 + ], + [ + 14, + 18, + 22, + 2300, + 428310 + ], + [ + 14, + 19, + 20, + 2300, + 428310 + ], + [ + 14, + 19, + 21, + 2300, + 428310 + ], + [ + 14, + 19, + 22, + 2300, + 428310 + ], + [ + 14, + 20, + 21, + 2300, + 428310 + ], + [ + 14, + 20, + 22, + 2300, + 428310 + ], + [ + 14, + 21, + 22, + 2300, + 428310 + ], + [ + 15, + 16, + 17, + 2300, + 428310 + ], + [ + 15, + 16, + 18, + 2300, + 428310 + ], + [ + 15, + 16, + 19, + 2300, + 428310 + ], + [ + 15, + 16, + 20, + 2300, + 428310 + ], + [ + 15, + 16, + 21, + 2300, + 428310 + ], + [ + 15, + 16, + 22, + 2300, + 428310 + ], + [ + 15, + 17, + 18, + 2300, + 428310 + ], + [ + 15, + 17, + 19, + 2300, + 428310 + ], + [ + 15, + 17, + 20, + 2300, + 428310 + ], + [ + 15, + 17, + 21, + 2300, + 428310 + ], + [ + 15, + 17, + 22, + 2300, + 428310 + ], + [ + 15, + 18, + 19, + 2300, + 428310 + ], + [ + 15, + 18, + 20, + 2300, + 428310 + ], + [ + 15, + 18, + 21, + 2300, + 428310 + ], + [ + 15, + 18, + 22, + 2300, + 428310 + ], + [ + 15, + 19, + 20, + 2300, + 428310 + ], + [ + 15, + 19, + 21, + 2300, + 428310 + ], + [ + 15, + 19, + 22, + 2300, + 428310 + ], + [ + 15, + 20, + 21, + 2300, + 428310 + ], + [ + 15, + 20, + 22, + 2300, + 428310 + ], + [ + 15, + 21, + 22, + 2300, + 428310 + ], + [ + 16, + 17, + 18, + 2300, + 428310 + ], + [ + 16, + 17, + 19, + 2300, + 428310 + ], + [ + 16, + 17, + 20, + 2300, + 428310 + ], + [ + 16, + 17, + 21, + 2300, + 428310 + ], + [ + 16, + 17, + 22, + 2300, + 428310 + ], + [ + 16, + 18, + 19, + 2300, + 428310 + ], + [ + 16, + 18, + 20, + 2300, + 428310 + ], + [ + 16, + 18, + 21, + 2300, + 428310 + ], + [ + 16, + 18, + 22, + 2300, + 428310 + ], + [ + 16, + 19, + 20, + 2300, + 428310 + ], + [ + 16, + 19, + 21, + 2300, + 428310 + ], + [ + 16, + 19, + 22, + 2300, + 428310 + ], + [ + 16, + 20, + 21, + 2300, + 428310 + ], + [ + 16, + 20, + 22, + 2300, + 428310 + ], + [ + 16, + 21, + 22, + 2300, + 428310 + ], + [ + 17, + 18, + 19, + 2300, + 428310 + ], + [ + 17, + 18, + 20, + 2300, + 428310 + ], + [ + 17, + 18, + 21, + 2300, + 428310 + ], + [ + 17, + 18, + 22, + 2300, + 428310 + ], + [ + 17, + 19, + 20, + 2300, + 428310 + ], + [ + 17, + 19, + 21, + 2300, + 428310 + ], + [ + 17, + 19, + 22, + 2300, + 428310 + ], + [ + 17, + 20, + 21, + 2300, + 428310 + ], + [ + 17, + 20, + 22, + 2300, + 428310 + ], + [ + 17, + 21, + 22, + 2300, + 428310 + ], + [ + 18, + 19, + 20, + 2300, + 428310 + ], + [ + 18, + 19, + 21, + 2300, + 428310 + ], + [ + 18, + 19, + 22, + 2300, + 428310 + ], + [ + 18, + 20, + 21, + 2300, + 428310 + ], + [ + 18, + 20, + 22, + 2300, + 428310 + ], + [ + 18, + 21, + 22, + 2300, + 428310 + ], + [ + 19, + 20, + 21, + 2300, + 428310 + ], + [ + 19, + 20, + 22, + 2300, + 428310 + ], + [ + 19, + 21, + 22, + 2300, + 428310 + ], + [ + 20, + 21, + 22, + 2300, + 428310 + ] + ] + }, + "row_tree": [ + [ + 0, + 23 + ], + [ + 1, + 24 + ], + [ + 2, + 25 + ], + [ + 3, + 26 + ], + [ + 4, + 27 + ], + [ + 5, + 28 + ], + [ + 6, + 29 + ], + [ + 7, + 30 + ], + [ + 8, + 31 + ], + [ + 9, + 32 + ], + [ + 10, + 33 + ], + [ + 11, + 34 + ], + [ + 12, + 35 + ], + [ + 13, + 36 + ], + [ + 14, + 37 + ], + [ + 15, + 38 + ], + [ + 16, + 39 + ], + [ + 17, + 40 + ], + [ + 18, + 41 + ], + [ + 19, + 42 + ], + [ + 20, + 43 + ], + [ + 21, + 44 + ], + [ + 22, + 45 + ], + [ + 22, + 46 + ], + [ + 0, + 47 + ], + [ + 1, + 23 + ], + [ + 2, + 24 + ], + [ + 3, + 25 + ], + [ + 4, + 26 + ], + [ + 5, + 27 + ], + [ + 6, + 28 + ], + [ + 7, + 29 + ], + [ + 8, + 30 + ], + [ + 9, + 31 + ], + [ + 10, + 32 + ], + [ + 11, + 33 + ], + [ + 12, + 34 + ], + [ + 13, + 35 + ], + [ + 14, + 36 + ], + [ + 15, + 37 + ], + [ + 16, + 38 + ], + [ + 17, + 39 + ], + [ + 18, + 40 + ], + [ + 19, + 41 + ], + [ + 20, + 42 + ], + [ + 21, + 43 + ], + [ + 22, + 44 + ] + ], + "scope": "Nonzero modular pivots certify rational nonvanishing at the actual two fixed bases; zeros follow separate exact rank cuts. Ten primary-prime failures are replayed with exact rational elimination, yielding the same profile for every pair." + }, + "kappa": "411862541/10000000000000", + "local_sha256": { + "research/copied-fixed/PROOF.md": "142326b82ea68e274b3495551b38005b7f1d5e0310219ed10ab5afc8d79a30f8", + "research/copied-fixed/SOURCE.json": "bd5a765474ed52155f3393951b96babc4ca3fe7522397140c51594289b401e32", + "research/copied-fixed/audit.py": "dd369a7a6e0be4354c05560d0e1d9750c14839928459f43beeb55970f86e0631", + "research/copied-fixed/balanced_assembly.py": "4d27575dcad2b45a281a34054d311409ecd954f373c0c3a62c29bcc843f06a86", + "research/copied-fixed/changed_graph.py": "375a7ca6cac6d153c1880fd5ea5b4525e5dca9d4ee3018d24d679c219b59c5b3", + "research/copied-fixed/comparison-pr40.json": "3cf55a63468df230b57089f66c4a97dbee25ca5a0771f53ef23c972774718060", + "research/copied-fixed/comparison-pr41.json": "58beeb816847707c6c866c72ce078b751f70ab65c5baa7c498f863005602e7a2", + "research/copied-fixed/comparison-pr42.json": "22d8c3347405a1df3bf970c199b5c58062c8fc34d5916c86c1353b97254c4461", + "research/copied-fixed/comparison-pr43.json": "3595db8b0eb1f139c00e6e5984522ba91ac693d26bc32bed07211846024757c6", + "research/copied-fixed/comparison-pr44.json": "d2681a5c0c0020410fe0a23fd4bae51bf31171d55572ba6a79f6c9928a7543de", + "research/copied-fixed/comparison-pr46.json": "f7a34054403075c51289e58b583c05ff42c43e72d286b9c3ff4fc5ae7f4bca44", + "research/copied-fixed/comparison-pr47.json": "d15ecc820d540a2bfea10bc7d72688240aea89245ff27de263b1de0e74e4273a", + "research/copied-fixed/data-corners.json": "82dc2d3e116fc003348d6e9ff0cce90fd70d3d6c156580b769ff3d38b3399e17", + "research/copied-fixed/data_corners.cpp": "d134f43d31b896daf504511991be8608c6ba9d20a6606c57e2e12d4b203b7d44", + "research/copied-fixed/data_recovery.py": "0de7e0fc4f38b066ec319e4dde43bce8f20edd207be9f9736610babf95030253", + "research/copied-fixed/links-23.uses": "b215350929d15711b502cdcf5878aeedb2cc7dc81dc764977a28d37ece17f86f", + "research/copied-fixed/links-25.uses": "80dd63ea393931211bece7a44329a9da4e2936575cdc3f48c27690bedc2ad0ae", + "research/copied-fixed/original-23.json": "a7976c03e9fb788d79e72efc9afeda0f2cb977f790a532dac28c8d15762613c1", + "research/copied-fixed/original-25.json": "eecd3bc090d9547f5e85244b74403713838005e94561f80f7b2774b36d672b0f", + "research/copied-fixed/original_timeline.py": "cf152459e080f556931122bc0afa3417835ea4a6d14e541be12c67f317e25f60", + "research/copied-fixed/producer.py": "281b7ebcbad71d2cebca80b1aca4af1d63417e3995576be41f040b776a51e43e", + "research/copied-fixed/profiles-23.json": "f44077350b6759199dd95bf17d4d5e27c2d5c5295c8dcae85234d478827f0ff7", + "research/copied-fixed/profiles-25.json": "746402326f54c01cf32eadb2bf1ce277fc8058dfd34f14182918f1f0e58a3fb7", + "research/copied-fixed/profiles.cpp": "b9fbd71c746609948b60c441ba4601e88436956fe636d1810f270ce4ce6a63a6", + "research/copied-fixed/scalar-23.json": "b5defb6a89253340440c398e2b1482b3ca71d9f9655bcfe855231de9a4e248c6", + "research/copied-fixed/scalar-25.json": "759366ff6b4293de865248a246c55d0dca538551194f0ac8a85867c64f8473dd", + "research/copied-fixed/search-record.json": "1e5298f543ff2bf07fb81c612da89358517eafbf4e33d337452390471ff427a9", + "research/copied-fixed/verify.py": "44932182ce6c4d39776650311262ef0ac1ea9b5da7220bc0f728e2789881f84a" + }, + "scope": "Changed leave-one-out graphs with RaD alternating point order, newly pinned weighted carrier matching and fixed-basis internal blocks at (23,25); all actual data pairs checked for 9 singletons +21+17+481; ten failed modular tests are recovered by exact rational elimination. Exact scalar/label/matching/profile reconstruction is producer.py. OpenAI base theorem, written residual compiler, fixed-tape recursion, analytic/semantic/routing/recovery and eventual-threshold interfaces remain assumed.", + "sources": { + "PR34": { + "author": "James Chang (jamesyc)", + "commit": "7fecbe3651e095fb0f450756afdeefd2a9ee80a2", + "contribution": "reversed geometry and all-weight rank-cut identities" + }, + "PR35": { + "author": "Dominik Scholz", + "commit": "9c345a2a11e5f4f3649f7c68214bf9a2a0a3fe9c" + }, + "PR36": { + "author": "icekylinx", + "commit": "11817ccacb564bb7f98789c20dc11d3fece207e3" + }, + "PR37": { + "author": "Rohan Arun", + "commit": "2f7578affce416ad4b6c41f3438ebb734f66a899", + "contribution": "dimension-23 reversed geometry checker" + }, + "PR38": { + "author": "Dominik Scholz", + "commit": "605323bab4ba330de3d1785dc5b3ecb14e8ab747", + "contribution": "contemporaneous independent fixed-both composition, comparison and credit" + }, + "PR39": { + "author": "Rohan Arun", + "commit": "70ae24129649f6d6d4ec6360962a80c3c42a38f1", + "contribution": "fixed-middle modular nonvanishing method adapted to exhaustive two-fixed pair check" + }, + "PR40": { + "author": "Rohan Arun", + "commit": "43f59ff533598762cbc43a5e14af2bbbc76fabbd", + "contribution": "contemporaneous both-fixed baseline; matching order improvement is new here" + }, + "PR41": { + "PR": 41, + "author": "RaD / hipotures", + "commit": "d9c96297d455053b795ee58ba108d5cf892e1c04", + "point_order_blob": "a47df953d275f86bf3fcb100cc425ca8854875ca", + "rad_checkpoint": "7e488e6b25dc1713c1f41baaf1cefbf677507cf3", + "subsequent_inspected_head": "03bde70c0c2a453f1ceae20c619b602841405467" + }, + "PR42": { + "author": "Rohan Arun", + "commit": "c6fc08951c1776a9685802b1810a2f15dbbd4f64", + "contribution": "contemporaneous fixed/alternating composition and exact comparison; different carrier matching" + }, + "PR43": { + "author": "Chafik Boukhalfa with OpenAI Codex assistance", + "commit": "c0fbfd3cc4fd6e95cef54ab307dfb50c69dd96f6", + "contribution": "prior fully checked original-envelope/fixed-basis alternating composition and independent replay checks" + }, + "PR44": { + "author": "Rohan Arun with Anthropic Claude assistance", + "commit": "061414a529f1123668872db44d737e362fbe066f", + "contribution": "weighted matching discovery, pinned carrier links and replay profiler; no optimality claim is required" + }, + "PR46": { + "author": "Chafik Boukhalfa with OpenAI Codex assistance", + "commit": "71b6c960c89295e952522dd44111df9cfc51ae90", + "contribution": "prior verified composition and exact rational recovery of all data pairs; this increment changes both scalar graphs and pinned matchings" + }, + "PR47": { + "author": "Rohan Arun with Anthropic Claude assistance", + "commit": "117caf164e3b235ef20188aa2dc1b49617e9255c", + "contribution": "contemporaneous hill-climbed graph benchmark; no construction component reused in this increment" + }, + "files": { + "certificates/copied-centers-bit-axes.json": "ed307cef595091b11ba8f8e6ff11302ad8db190227a2fbf34c232fd680206254", + "certificates/copied-centers-complex-input.json": "91a9e54b455ecc36c3150abcf4a1c9138691c8faab464b5ce159ba8e376764e7", + "certificates/copied-centers-network.json": "7dbd675e42e22ac076280360f8750031851564bb7a56079e66236fee5d0a6cdf", + "notes/copied-centers-bit.tex": "ccc8191ddb51698251ed4461a4c26104501b9b2ee37ce3cbe82fa73e85ae40dd", + "notes/copied-centers-lemma.tex": "d0ce6d3d504996aadb098227885224e48df46101daec8893523a0a8b7364d8fe", + "notes/structured-bulk-bit.tex": "fddef1b1d902de49e2e4e71bf2c1708c73bc25cbfee107ed6ce3b6d785a5d284", + "references/copied-fixed/pr34/ASSEMBLY_PROOF.md": "88bdd35ac089891dcbd47fb7fb76418c785e6004902f7a987aad571e0a4eea51", + "references/copied-fixed/pr34/downstream-semantic-bulk-assembly.md": "ccdeaeac7c6a1c08483fea2285a7d089d782f2c18b7be867c3fc9f77457637fd", + "references/copied-fixed/pr34/review-arbitrary-routing.md": "f18f535a096abae473db71a4ae3f275d0116d7438fb18594d5b160571db670fd", + "references/copied-fixed/pr34/review-balanced-transform.md": "0c3a5b6f17188205d35cd421ef0c35c71f6111698f497e89da3ef7f870fef862", + "references/copied-fixed/pr34/review-bulk-resampling.md": "12aefaa9a0eee367fb71e8f910ed5f0094e1203d2caa29836b0c37887c446c29", + "references/copied-fixed/pr35/README.md": "7b136ff0f9a1520296e24195dbf981f55dc63e103e1c105735b1540aa640df3c", + "references/copied-fixed/pr35/fixed-basis-two-stage.tex": "cfd97834f3f67378492fd14fddb1f6774f6261164c33f57389b2f729720b7e1f", + "references/copied-fixed/pr35/producer.py": "afa4a68a415d2281f7ef7924bd58952e33a4ae7f84c6437a5e13786d7eb966a8", + "references/copied-fixed/pr35/rankone_profiles.cpp": "a644821881e6cf4a426a3d6908519889b2f0edeb0032ca384e5026bcf16877a6", + "references/copied-fixed/pr41/SOURCE.json": "836d3d588dc4abb24c375c3a4c65a3dc6fc6ccb186a070ee35241886baf48ccd", + "references/copied-fixed/pr41/check_compiled_witness.py": "f358ea1109537993e48d7e9fb1215d793d4d89424f9e6b14359f4bc522173e7b", + "references/copied-fixed/pr41/point_order_search.py": "3021113367ed8fda0b10e7f25a3bc751b7cb39bee05db9c0c912d3b4b1256ac6", + "references/copied-fixed/pr41/producer_search.py": "1fc67fef1401190156f75aaca785537c3b5fb9533fcaadd030d6e922af9f5292", + "references/copied-fixed/pr44/SOURCE.json": "eeb610bdc954586233b9667b49f11ecda211c120e3557621d08b769c5a010459", + "references/copied-fixed/pr44/optimal_graph.py": "8c7dab322e5143d4e760ef9086213a0a9a4e65cb5ead1f7b8a2c68d886e99fdb", + "references/copied-fixed/pr44/optimize_matching.py": "0c3ec1f9c6e3dcee5f5809a9ba5d248c99e26e0b7c3df89f0a5571815a05f22b", + "references/copied-fixed/pr44/profiles.cpp": "2c8c32fdfa0719247e24da41a66da18bd3eef4a8a78e13b5581df86a7be225da", + "research/copied-fixed/balanced_assembly.py": "4d27575dcad2b45a281a34054d311409ecd954f373c0c3a62c29bcc843f06a86", + "research/copied-fixed/comparison-pr40.json": "3cf55a63468df230b57089f66c4a97dbee25ca5a0771f53ef23c972774718060", + "research/copied-fixed/comparison-pr41.json": "58beeb816847707c6c866c72ce078b751f70ab65c5baa7c498f863005602e7a2", + "research/copied-fixed/comparison-pr42.json": "22d8c3347405a1df3bf970c199b5c58062c8fc34d5916c86c1353b97254c4461", + "research/copied-fixed/comparison-pr43.json": "3595db8b0eb1f139c00e6e5984522ba91ac693d26bc32bed07211846024757c6", + "research/copied-fixed/comparison-pr44.json": "d2681a5c0c0020410fe0a23fd4bae51bf31171d55572ba6a79f6c9928a7543de", + "research/copied-fixed/comparison-pr46.json": "f7a34054403075c51289e58b583c05ff42c43e72d286b9c3ff4fc5ae7f4bca44", + "research/copied-fixed/comparison-pr47.json": "d15ecc820d540a2bfea10bc7d72688240aea89245ff27de263b1de0e74e4273a", + "research/copied-fixed/data-corners.json": "82dc2d3e116fc003348d6e9ff0cce90fd70d3d6c156580b769ff3d38b3399e17", + "research/copied-fixed/links-23.uses": "b215350929d15711b502cdcf5878aeedb2cc7dc81dc764977a28d37ece17f86f", + "research/copied-fixed/links-25.uses": "80dd63ea393931211bece7a44329a9da4e2936575cdc3f48c27690bedc2ad0ae", + "research/copied-fixed/original-23.json": "a7976c03e9fb788d79e72efc9afeda0f2cb977f790a532dac28c8d15762613c1", + "research/copied-fixed/original-25.json": "eecd3bc090d9547f5e85244b74403713838005e94561f80f7b2774b36d672b0f", + "research/copied-fixed/profiles-23.json": "f44077350b6759199dd95bf17d4d5e27c2d5c5295c8dcae85234d478827f0ff7", + "research/copied-fixed/profiles-25.json": "746402326f54c01cf32eadb2bf1ce277fc8058dfd34f14182918f1f0e58a3fb7", + "research/copied-fixed/reversed/geometry-source.json": "de0f18e22e2fba877cb5beb4a4b0f3e181938c00b98e2f276708a63ae681ea17", + "research/copied-fixed/reversed/geometry.py": "6f8990c17781d5dd42176762a3f9c95de012248a1470f34654388e5adad3b93f", + "research/copied-fixed/reversed/pr34/certify_reversed.py": "77311474169f64a154c2435bcde9303fbc472cbd9ac4d2b39c76e7560fa9e3a3", + "research/copied-fixed/reversed/pr34/independent_controls.py": "f0450c9a8127b538df6cc36ed744ad707b9e72756af9ce5290023272999c5c65", + "research/copied-fixed/review/pr34-balanced-assembly-audit.txt": "3b3b6bb410f53d874fff51c535b72ed6e1636041a079579df6c7cca2b0ca4ca2", + "research/copied-fixed/scalar-23.json": "b5defb6a89253340440c398e2b1482b3ca71d9f9655bcfe855231de9a4e248c6", + "research/copied-fixed/scalar-25.json": "759366ff6b4293de865248a246c55d0dca538551194f0ac8a85867c64f8473dd", + "research/copied-fixed/search-record.json": "1e5298f543ff2bf07fb81c612da89358517eafbf4e33d337452390471ff427a9", + "research/copied-fixed/timeline-23.json": "540b91c324a0394a2e22d7f448a02ee7a3aa0aa8c2d9e75cded909033ebeacd3", + "research/copied-fixed/timeline-25.json": "3cf71771577b7cc05a2cb0574cd9e3fe7e905734a775ad082f16276f62373b7d", + "scripts/copied_centers/physical.py": "837345d1f8753eab0e70f105b1d1bb0db965b993da037b1825ddef3672609d7d", + "scripts/copied_centers_network.py": "409ebfbd8a41c4c4d089aa0949fcf5a949415dc26f57440ffd48b7bd8881e6a9", + "scripts/partial_swap/binary_io.hpp": "7e143eb75bb342ac8f0c82a60005e7c35c9ec827de479bf6fb773151f3af5fa1", + "scripts/partial_swap/graph.py": "fd8c567759e26a10d2bad05508fd0355eb70fb116664d4e06e1858d0d8cb2ef9", + "scripts/partial_swap/paired.py": "ddcecace3a8e04d690914cbd64873ab8dde8c0c3477a255767b0ed6f639bb0c7", + "scripts/partial_swap/shared.py": "81e9af92cdf38243a540cdcff2062778e449467848d444da37a9553c12ca4c34", + "scripts/partial_swap_network.py": "acdd81b4dea2815f8838a0c3ea8ac4968f2bc13fd7c99173473d865779096782", + "scripts/structured_bulk_assembly.py": "e99467e14211fba699878ed036e1e2362eb8e395dc22f9ecdcecc7fbf2cc736d" + } + }, + "status": "Conditional exact arithmetic witness; general transfer proofs are dependencies" +} diff --git a/references/frame-compiler/pr65/references/frame-compiler/pr48/research/copied-fixed/changed_graph.py b/references/frame-compiler/pr65/references/frame-compiler/pr48/research/copied-fixed/changed_graph.py new file mode 100644 index 0000000000..24070a7d85 --- /dev/null +++ b/references/frame-compiler/pr65/references/frame-compiler/pr48/research/copied-fixed/changed_graph.py @@ -0,0 +1,60 @@ +"""Changed exclusion graphs with more admissible retained carriers. + +Underlying cancellation-free generators: icekylinx PR18/36. Alternating +point order: RaD/hipotures PR41, checkpoint 7e488e6b25dc1713c1f41baaf1cefbf677507cf3. +Compared with PR46, reorder the vector leave-one-out construction by source +support size, breaking ties by ascending support at h23 and descending at +h25; restore the original output indexing. The h23 total folds in reverse +input order, while h25 retains descending (support size, support) order. +Prepared with OpenAI Codex assistance. Apache-2.0. +""" +from partial_swap.paired import PairedExclusionCircuit +from partial_swap.shared import SharedPointCircuit + + +def alternating_points(h,common): + pairs=[(a,a+1) for a in range(0,h-1,2) if common not in (a,a+1)] + if common%2: + pairs.reverse() + head=[x for pair in pairs for x in pair] + return head+[x for x in range(h) if x!=common and x not in head] + + +def graph(h): + assert h in (23,25) + class Changed(PairedExclusionCircuit): + base_threshold=2 + def total(self,values): + values=[x for x in values if x] + if h==23: + values.reverse() + else: + values.sort(key=lambda node:(self.support[node].bit_count(),self.support[node]),reverse=True) + result=0 + for node in values: + result=self.add(result,node) + return result + def vector(self,values,two=True): + if two: + return super().vector(values,two) + sign=1 if h==23 else -1 + order=sorted(range(len(values)),key=lambda i: + (self.support[values[i]].bit_count(),sign*self.support[values[i]])) + total,one,_=super().vector([values[i] for i in order],False) + restored=[0]*len(values) + for position,original in enumerate(order): + restored[original]=one[position] + return total,restored,{} + local=Changed(h-1) + total=local.pair(list(range(h-1)))[0] + local.outputs[()]=total + stack=[total] + while stack: + node=stack.pop() + if not node or node in local.active: + continue + local.active.add(node) + if local.args[node]: + stack.extend(local.args[node]) + local.additions=sum(local.args[node] is not None for node in local.active) + return SharedPointCircuit(h,local,point_order=alternating_points) diff --git a/references/frame-compiler/pr65/references/frame-compiler/pr48/research/copied-fixed/profiles.cpp b/references/frame-compiler/pr65/references/frame-compiler/pr48/research/copied-fixed/profiles.cpp new file mode 100644 index 0000000000..410e50f475 --- /dev/null +++ b/references/frame-compiler/pr65/references/frame-compiler/pr48/research/copied-fixed/profiles.cpp @@ -0,0 +1,107 @@ +#include +// Optimal-matching variant of research/copied-fixed/profiles.cpp (PR #43, Chafik +// Boukhalfa), itself adapted from Dominik Scholz PR35 and icekylinx PR32. +// Change: with LINKS_IN=, the carrier matching is read from a pinned file +// instead of Hopcroft-Karp. Every pinned edge must lie in the same admissible +// adjacency (causal order and frame inclusion); donors and uses are distinct. +// This replay-only adaptation omits the discovery edge dumper. The original +// optimizer and profiler are preserved in references/copied-fixed/pr44. +// Replay-only adaptation prepared with OpenAI Codex assistance. +// Prepared by Rohan Arun with Anthropic Claude assistance. Apache-2.0. +// Adapted at h=23,25; original PR35 by Dominik Scholz, PR32 by icekylinx. +// Dimension adaptation at 45/47; extra primes for all source-growth cases. +// Exact bounded-minor inequalities are checked by verify.py. Original credit below. +// Copyright 2026 icekylinx. Apache-2.0; AI-assisted handoff integration. +// Original round3_rankone_profiles.cpp. Requires GCC/Clang unsigned __int128. +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +using U=uint32_t;using V=uint64_t; +#include "binary_io.hpp" +int main(int argc,char**argv){assert(argc==2||argc==3);std::ifstream f(argv[1],std::ios::binary);U hdr[4];read_array(f,hdr);U h=hdr[0],v=hdr[1],n=hdr[2],q=hdr[3];assert(h==23||h==25); +std::vector>args(n);std::vectorcore(n),cover(n);std::vectorroots(q),kind(q);std::vectoractive(n);readv(f,args);readv(f,core);readv(f,cover);readv(f,roots);readv(f,kind);readv(f,active); +std::vectorranks(n),degree(n),begin(n+1);V c=0,inputs=0,loss=0; +for(U x=1;xuses(begin.back()),cursor(begin.begin(),begin.end()-1);for(U x=1;xU{return e>>31?roots[e&0x7fffffff]:e/2;}; +auto before=[&](U a,U b){U x=nd(a),y=nd(b);if(ranks[x]!=ranks[y])return ranks[x]>31?V(n)+(a&0x7fffffff):x,oy=b>>31?V(n)+(b&0x7fffffff):y;return oxdonors;for(U x=1;xleftmatch(n),rightmatch(uses.size()),distance(n,UINT32_MAX),queue;V matches=0;U phase=0,inf=UINT32_MAX,shortest=inf; +const char* lin=getenv("LINKS_IN"); +assert(lin && "A pinned carrier matching is required"); +if(lin){std::ifstream lf(lin,std::ios::binary);U hd[2];read_array(lf,hd);assert(hd[0]==n);std::vectorisdonor(n);for(U x:donors)isdonor[x]=1;for(U i=0;i=shortest)continue;adjacency(x,[&](U j){U y=rightmatch[j];if(!y)shortest=distance[x]+1;else if(distance[y]==inf){distance[y]=distance[x]+1;queue.push_back(y);}return false;});}if(shortest==inf)break; +auto aug=[&](auto&&self,U x)->bool{bool ok=adjacency(x,[&](U j){U y=rightmatch[j];if((!y&&distance[x]+1==shortest)||(y&&distance[y]==distance[x]+1&&self(self,y))){leftmatch[x]=j+1;rightmatch[j]=x;return true;}return false;});if(!ok)distance[x]=inf;return ok;};V gained=0;for(U x:donors)if(!leftmatch[x]&&aug(aug,x)){matches++;gained++;}std::cerr<<"h="<hist(h+1);for(U x=1;x=ranks[y]);hist[r-ranks[y]]++;}}else hist[1]+=degree[x];} +for(U j=0;j>31?target:args[target][e&1];assert(value==args[donor][0]||value==args[donor][1]);if(value==args[donor][0])changed++;U ru=ranks[donor],rv=ranks[value],rt=ranks[target];assert(rt>=ru&&ru>=rv);hist[h-ru]--;hist[rv]--;hist[rt-rv]--;hist[rt-ru]++;} +V R=c+q-matches,sum=0;for(U r=0;r<=h;r++){assert(hist[r]>=0);sum+=r*hist[r];}assert(sum==h*R+2*loss); +if(argc==3){std::ofstream out(argv[2],std::ios::binary);U header[2]={n,U(matches)};write_array(out,header);for(U donor:donors)if(leftmatch[donor]){U edge[2]={donor,uses[leftmatch[donor]-1]};write_array(out,edge);}assert(out);} +std::cout<<"{\"h\":"<frames{{0,0,0},{0,0,h}};std::map,U>frame_lookup;std::vectorfi(n); +for(U x=1;xsecond;} +std::map,int64_t>transitions;int64_t singles=0; +auto edge=[&](U a,U b,int64_t count){if(a==b)return;transitions[{a,b}]+=count;}; +for(U x=1;x>31?target:args[target][e&1];edge(fi[donor],1,-1);edge(0,fi[value],-1);edge(fi[value],fi[target],-1);edge(fi[donor],fi[target],1);} +V p=2305843009213693951ULL; +auto mul=[&](V a,V b)->V{return (__uint128_t)a*b%p;}; +auto power=[&](V a,V b)->V{V r=1;for(;b;b>>=1,a=mul(a,a))if(b&1)r=mul(r,a);return r;}; +auto sub=[&](V a,V b)->V{return (a+p-b)%p;}; +std::vector>matrix_cache(frames.size()); +auto matrix=[&](U id)->const std::vector&{auto&A=matrix_cache[id];if(!A.empty())return A;A.assign(h*h,0);if(id==0)return A;if(id==1){for(U i=0;i>i)&1);V zj=((f.core>>j)&1)?3*(h+1)-10:p-10;A[i*h+j]=mul(mul(wi,zj),factor);}return A;} + assert(c==1||c==2);V s=3-c,d=s*s+(c-1)*nn,den=3*(h+1)*d,inv=power(den,p-2); + for(U i=0;i>i)&1,oj=(out>>j)&1,wi=3+((f.core>>i)&1),zj=((f.core>>j)&1)?3*(h+1)-10:p-10; + V num=(mul(s*oi,zj)+3*(h+1)*s*wi*oj+mul(nn*wi,zj))%p;num=sub(num,3*(h+1)*(c-1)*oi*oj);A[i*h+j]=(V(i==j&&oi)+mul(num,inv))%p; + }return A;}; + +std::vectorblocks(h+1);blocks[1]=singles;V done=0,matrices=0,crt_matrices=0,crt_disagreements=0;U longest=0;std::mapcorrection_hist; +for(auto&[key,count]:transitions){if(!count)continue;assert(count>0);U aa=key.first,bb=key.second;U rr=frames[bb].rank-frames[aa].rank;assert(frames[bb].rank>=frames[aa].rank);if(!rr)continue; + if(rr<=2){blocks[1]+=count*rr;continue;}if(aa==0&&bb==1){blocks[h]+=count;continue;} + if(aa>1&&bb>1){ + assert(!(frames[bb].core&~frames[aa].core)); + assert(!(frames[aa].cover&~frames[bb].cover)); + U ca=popcount64(frames[aa].core),cb=popcount64(frames[bb].core); + assert(ca==3||frames[aa].core==frames[bb].core||(ca==2&&cb==1)); + } + const auto&A=matrix(aa);const auto&B=matrix(bb);std::vectorM(h*h);for(U x=0;x>pivots; + for(U i=0;i=0&&!M[i*h+j])j--;if(j<0)continue;pivots.push_back({i,U(j)});V inv=power(M[i*h+j],p-2);for(U k=i+1;k core-one use all three primes at these dimensions. +if(aa>1&&bb>1&&(popcount64(frames[aa].core)==3||(popcount64(frames[aa].core)==2&&popcount64(frames[bb].core)==1))){ + assert(h==23||h==25);crt_matrices++;matrix_cache[aa].clear();matrix_cache[bb].clear();std::vector>> all{pivots}; + for(V extra:{2147483647ULL,524287ULL}){p=extra;matrix_cache[aa].clear();matrix_cache[bb].clear();const auto&C=matrix(aa);const auto&D=matrix(bb);std::vectorY(h*h);for(U z=0;z> pp; + for(U i=0;i=0&&!Y[i*h+j])j--;if(j<0)continue;pp.push_back({i,U(j)});V inv=power(Y[i*h+j],p-2);for(U k=i+1;k corner((h+1)*(h+1));for(U i=0;i=j;best=std::max(best,rank);}corner[(i+1)*(h+1)+j]=best;} + pivots.clear();for(U i=0;i=0);mass+=t*blocks[t];}assert(mass==sum); +std::string target=std::string(argv[1])+".round3_rankone_certified_profiles.json";std::ofstream out(target);assert(out);out<<"{\"h\":"<= 3 and all(exponent % d for d in range(2, isqrt(exponent)+1)), + 'Composite Lucas-Lehmer exponent') + p = 2**exponent - 1 + s = 4 + for _ in range(exponent - 2): + s = (s*s-2) % p + require(s == 0, 'Lucas-Lehmer failed') + return p + + +def exactness(h): + require(h in (23, 25), 'Uncertified dimension') + primes = [mersenne(e) for e in (61, 31, 19)] + Z = 3*h-7 + B0 = (4*h-2)*Z + 27*(h+1) + D = 3*(h+1)*(h-1)**2 + B = 2*(h-1)*B0 + bounds = {r: sum(comb(h,j)*factorial(j)*B**j*D**(r-j) + for j in range(r+1)) for r in (2,3,4)} + require(bounds[2] < primes[0], 'Rank-two minor modulus insufficient') + require(max(bounds[3],bounds[4]) < prod(primes), 'CRT minor modulus insufficient') + require(3*(h+1)*(h-1) < min(primes), 'Denominator may vanish') + return dict(h=h, primes=primes, prime_product=prod(primes), + single_numerator_bound=B0, common_denominator_bound=D, + correction_numerator_bound=B, minor_bounds=bounds, + modulus_gaps={2: primes[0]-bounds[2], + 3: prod(primes)-bounds[3],4: prod(primes)-bounds[4]}) + + +def tree(edges, n): + require(len(edges) == n-1 and len(set(edges)) == n-1, 'Wrong tree edge count') + seen = {0} + while True: + new = seen | {v for u,v in edges if u in seen} | {u for u,v in edges if v in seen} + if new == seen: + break + seen = new + require(len(seen) == n, 'Disconnected restriction graph') + + +def data_corners(): + c = read(HERE/'data-corners.json') + prime = c['prime'] + require(prime == 1000003 and all(prime % j for j in range(2,isqrt(prime)+1)), + 'Data witness prime not proved') + require(c['dimensions'] == [23,25], 'Data dimensions') + require([tuple(r[:3]) for r in c['records']] == list(combinations(range(23),3)), + 'Incomplete first triple coverage') + require(all(0 <= r[3] <= 2300 and 0 < r[4] < prime for r in c['records']), + 'Invalid modular product record') + failures = c['fallback_pairs'] + require(len({tuple(r[:6]) for r in failures}) == len(failures), 'Duplicate fallback') + counts = Counter() + for aa,bb,cc,u,v,w,row in failures: + require(0<=aa= 1, 'Log domain') + k = 0 + while x > 2: + x /= 2 + k += 1 + def small(y): + z = (y-1)/(y+1) + lo = 2*sum((z**(2*j+1)/Q(2*j+1) for j in range(32)), Q()) + return lo, lo+2*z**65/(65*(1-z*z)) + lo,hi = small(x) + lo2,hi2 = small(Q(2)) + lo,hi = lo+k*lo2,hi+k*hi2 + scale = 10**30 + return Q((lo*scale).numerator//(lo*scale).denominator,scale), \ + Q(-(-(hi*scale).numerator//(hi*scale).denominator),scale) + + +def moment(m,W,rows,saving): + require(type(saving) is Q and 0 < saving < 1, 'Exact positive saving required') + lower,upper = Q(),Q() + enclosure = {} + for t,n in sorted(rows.items()): + require(type(t) is int and type(n) is int and 00, 'Invalid child') + lo,hi = logs(Q(m,t)) + u,v = saving*lo,saving*hi + require(0 <= u <= v < 1, 'Exponential enclosure domain') + weight = Q(t*n,m*W) + lower += weight*(1+u+u*u/2+u*u*u/6) + upper += weight*(1+v+v*v/(2*(1-v/3))) + enclosure[t] = dict(lower=lo,upper=hi) + return dict(saving=saving,exponent=1-saving,lower=lower,upper=upper, + strict_gap=1-upper,logarithms=enclosure) + + +def profile(): + a,b = 23,25 + m = a*b + rows = [read(HERE / f'original-{h}.json') for h in (a,b)] + N = comb(a,3)*comb(b,3) + W = 2*N+sum(N//r['v']*r['R'] for r in rows) + L = sum(N//r['v']*r['loss'] for r in rows) + data = data_corners() + good,bad = data['good'],data['fallback'] + parts = {'data':Counter({1:2*(9*good+47*bad),21:2*good,17:2*good,481:2*N}), + 'paid_endpoint_copy':Counter({1:N})} + axes = [] + for row in rows: + h = row['h'] + require(row['v'] == comb(h,3), 'Triple count') + require(row['R'] == row['c']+row['q']-row['matched'], 'Role allocation') + require(row['loss'] == h*(h-1), 'Retained center loss') + require(sum(r*n for r,n in enumerate(row['histogram'])) == h*row['R']+2*row['loss'], + 'Original frame rank mass') + f = read(HERE / f'profiles-{h}.json') + for key in ('h','v','R','loss','rank_sum'): + require(f[key] == row[key], 'Fixed/original mismatch: '+key) + require(f['crt_disagreements'] == 0 and f['field_prime'] == 2**61-1, + 'Invalid CRT profile') + blocks = f['blocks'][:] + require(len(blocks) == h+1 and all(type(n) is int and n>=0 for n in blocks), + 'Invalid fixed blocks') + require(sum(t*n for t,n in enumerate(blocks)) == f['rank_sum'], 'Fixed profile mass') + require(blocks[h] == h, 'Exactly h full center cleanup calls expected') + # Preserve every transformed copy. Replace only its original's full cleanup. + blocks[h] -= h + blocks[1] += h + require(sum(t*n for t,n in enumerate(blocks)) == h*row['R']+row['loss'], + 'Copied fixed profile mass') + rep = N//row['v'] + bank = rep*row['R'] + parts[f'internal_{h}'] = Counter({t:n*rep for t,n in enumerate(blocks) if t and n}) + parts[f'exterior_{h}'] = Counter({h:bank,m-2*h:bank}) + parts[f'data_growth_{h}'] = Counter({1:2*N,h-2:2*N}) + axes.append(dict(original=row,fixed=f,copied_blocks=blocks,exactness=exactness(h))) + hist = sum(parts.values(),Counter()) + s = sum(t*n for t,n in hist.items()) + require(s == W*m-N+L == 102078397025, 'Complete rank mass') + require((m,N,W,L) == (575,4073300,177530859,2226400), 'Physical constants') + require(max(hist) == 529 and all(00 for t,n in hist.items()), 'Proper children') + return dict(m=m,N=N,W=W,L=L,total_rank=s,deficit=W*m-s,maxchild=max(hist), + child_multiplicities=dict(sorted(hist.items())),parts=parts,axes=axes) + + +def run(): + require(not sys.flags.optimize, 'Assertions must remain enabled') + sources = check_sources() + prior = baseline.certificate() + geo,p = geometry(),profile() + exact = moment(p['m'],p['W'],p['child_multiplicities'],AB) + require(exact['upper'] < 1, 'Bit characteristic failed') + old = prior['bit']['counts'] + old_at_new = moment(old['m'],old['W'],old['child_multiplicities'],AB) + require(old_at_new['lower'] > 1, 'Old construction not excluded at new saving') + forward=read(HERE/'comparison-pr40.json') + forward_rows={int(t):n for t,n in forward['child_multiplicities'].items()} + require(sum(t*n for t,n in forward_rows.items())==108202762275, 'PR40 rank mismatch') + forward_at_new=moment(forward['m'],forward['W'],forward_rows,AB) + require(forward_at_new['lower']>1,'PR40 network not excluded at new saving') + rad=read(HERE/'comparison-pr41.json') + rad_rows={int(t):n for t,n in rad['child_multiplicities'].items()} + require(sum(t*n for t,n in rad_rows.items())==rad['total_rank']==102565738275,'PR41 rank mismatch') + rad_at_new=moment(rad['m'],rad['W'],rad_rows,AB) + require(rad_at_new['lower']>1,'PR41 alternating network not excluded at new saving') + newest=read(HERE/'comparison-pr42.json') + newest_rows={int(t):n for t,n in newest['child_multiplicities'].items()} + require(sum(t*n for t,n in newest_rows.items())==newest['total_rank']==102565738275,'PR42 rank mismatch') + newest_at_new=moment(newest['m'],newest['W'],newest_rows,AB) + require(newest_at_new['lower']>1,'PR42 network not excluded at new saving') + previous=read(HERE/'comparison-pr43.json') + previous_rows={int(t):n for t,n in previous['child_multiplicities'].items()} + require(sum(t*n for t,n in previous_rows.items())==previous['total_rank']==102565738275,'PR43 rank mismatch') + previous_at_new=moment(previous['m'],previous['W'],previous_rows,AB) + require(previous_at_new['lower']>1,'PR43 network not excluded at new saving') + frontier=read(HERE/'comparison-pr44.json') + frontier_rows={int(t):n for t,n in frontier['child_multiplicities'].items()} + require(sum(t*n for t,n in frontier_rows.items())==frontier['total_rank']==102565738275,'PR44 rank mismatch') + frontier_at_new=moment(frontier['m'],frontier['W'],frontier_rows,AB) + require(frontier_at_new['lower']>1,'PR44 network not excluded at new saving') + parent=read(HERE/'comparison-pr46.json') + parent_rows={int(t):n for t,n in parent['child_multiplicities'].items()} + require(sum(t*n for t,n in parent_rows.items())==parent['total_rank']==102565738275,'PR46 rank mismatch') + parent_at_new=moment(parent['m'],parent['W'],parent_rows,AB) + require(parent_at_new['lower']>1,'PR46 network not excluded at new saving') + latest=read(HERE/'comparison-pr47.json') + latest_rows={int(t):n for t,n in latest['child_multiplicities'].items()} + require(sum(t*n for t,n in latest_rows.items())==latest['total_rank']==latest['W']*latest['m']-1846900,'PR47 rank mismatch') + latest_at_new=moment(latest['m'],latest['W'],latest_rows,AB) + require(latest_at_new['lower']>1,'PR47 network not excluded at new saving') + phase = prior['complex']['counts'] + phase_row = read(ROOT / 'certificates/copied-centers-complex-input.json') + bridge = baseline.finite_bridge(p,phase,[phase_row,phase_row]) + require(all(js(bridge[k])==js(prior['finite_bridge'][k]) for k in ('complex','semantic','rows')), 'Unexpected phase or stock change') + final = assembly(bridge,AB,KAPPA,a_complex=AC) + eventual = cutoffs(bridge,final) + require(KAPPA > PR47_KAPPA > PR46_KAPPA > PR44_KAPPA > PR43_KAPPA > PR42_KAPPA > PR41_KAPPA > PR40_KAPPA > PR39_KAPPA > PR38_KAPPA > PR37_KAPPA > prior['kappa'] > Q(1,2**15), 'Comparison failed') + require(KAPPA < Q(1,2**14), 'Unexpected power-of-two bracket') + own_files = sorted(HERE.glob('*.py'))+sorted(HERE.glob('*.cpp'))+[HERE/'PROOF.md',HERE/'SOURCE.json'] + own_files += [HERE/f'{kind}-{h}.json' for h in (23,25) for kind in ('profiles','original','scalar')] + own_files += [HERE/'data-corners.json',HERE/'comparison-pr40.json',HERE/'comparison-pr41.json',HERE/'comparison-pr42.json',HERE/'comparison-pr43.json',HERE/'comparison-pr44.json',HERE/'comparison-pr46.json',HERE/'comparison-pr47.json',HERE/'search-record.json',HERE/'links-23.uses',HERE/'links-25.uses'] + return dict(status='Conditional exact arithmetic witness; general transfer proofs are dependencies', + kappa=KAPPA,bit=dict(counts=p,**exact),complex=prior['complex'], + geometry=geo,finite_bridge=bridge,assembly=final,eventual_bounds=eventual,sources=sources, + comparison=dict(PR47=PR47_KAPPA,ratio_PR47=KAPPA/PR47_KAPPA,PR46=PR46_KAPPA,ratio_PR46=KAPPA/PR46_KAPPA,PR44=PR44_KAPPA,ratio_PR44=KAPPA/PR44_KAPPA,PR36=prior['kappa'],PR37=PR37_KAPPA,PR38=PR38_KAPPA,PR39=PR39_KAPPA,PR40=PR40_KAPPA,PR41=PR41_KAPPA,PR42=PR42_KAPPA,PR43=PR43_KAPPA, + ratio_PR36=KAPPA/prior['kappa'],ratio_PR37=KAPPA/PR37_KAPPA, + ratio_PR38=KAPPA/PR38_KAPPA,ratio_PR39=KAPPA/PR39_KAPPA,ratio_PR40=KAPPA/PR40_KAPPA,ratio_PR41=KAPPA/PR41_KAPPA,ratio_PR42=KAPPA/PR42_KAPPA,ratio_PR43=KAPPA/PR43_KAPPA, + dyadic_corollary='2^-15',next_dyadic_not_reached='2^-14'), + controls=dict(PR47_bit_at_new_lower=latest_at_new['lower'],PR46_bit_at_new_lower=parent_at_new['lower'],PR44_bit_at_new_lower=frontier_at_new['lower'],old_bit_at_new_lower=old_at_new['lower'],PR40_bit_at_new_lower=forward_at_new['lower'],PR41_bit_at_new_lower=rad_at_new['lower'],PR42_bit_at_new_lower=newest_at_new['lower'],PR43_bit_at_new_lower=previous_at_new['lower']), + local_sha256={str(p.relative_to(ROOT)):sha256(p.read_bytes()).hexdigest() for p in own_files}, + scope='Changed leave-one-out graphs with RaD alternating point order, newly pinned weighted carrier matching and fixed-basis internal blocks at (23,25); ' + 'all actual data pairs checked for 9 singletons +21+17+481; ' + 'ten failed modular tests are recovered by exact rational elimination. Exact scalar/label/' + 'matching/profile reconstruction is producer.py. OpenAI base theorem, ' + 'written residual compiler, fixed-tape recursion, analytic/semantic/' + 'routing/recovery and eventual-threshold interfaces remain assumed.') + + +if __name__ == '__main__': + parser = argparse.ArgumentParser() + parser.add_argument('--output',type=Path) + args = parser.parse_args() + result = run() + if args.output: + args.output.write_text(json.dumps(js(result),indent=2,sort_keys=True)+'\n') + print('PASS conditional kappa='+str(KAPPA)+'; bit saving='+str(AB)) + print('47 strict inequalities; seven margins; all-exact enclosures; inherited balanced assembly') diff --git a/references/frame-compiler/pr65/references/frame-compiler/pr48/scripts/exclusion_circuit.py b/references/frame-compiler/pr65/references/frame-compiler/pr48/scripts/exclusion_circuit.py new file mode 100644 index 0000000000..aaa99986c4 --- /dev/null +++ b/references/frame-compiler/pr65/references/frame-compiler/pr48/scripts/exclusion_circuit.py @@ -0,0 +1,184 @@ +#!/usr/bin/env python3 +"""Cancellation-free circuit for all pair sums avoiding two specified points. + +Every addition has disjoint input supports. Node interning shares equal sums; +support tracking verifies the full linear map, not sampled input values. +""" +from itertools import combinations +from hashlib import sha256 +import json + + +class ExclusionCircuit: + def __init__(self,n): + assert n>=4 + self.n=n + self.inputs=list(combinations(range(n),2)) + self.support=[0]+[1< +#include + +inline unsigned popcount64(uint64_t value) { + unsigned count = 0; + while (value) { value &= value-1; ++count; } + return count; +} + +inline bool little_endian() { + const uint16_t one = 1; + return *reinterpret_cast(&one) == 1; +} +template void normalize_le(T& value) { + static_assert(std::is_integral::value, "integer array required"); + if (!little_endian()) { + auto p = reinterpret_cast(&value); + std::reverse(p, p + sizeof(T)); + } +} +template void normalize_le(std::array& row) { + for (auto& value : row) normalize_le(value); +} +template void readv(std::ifstream& f, std::vector& values) { + f.read(reinterpret_cast(values.data()), values.size()*sizeof(T)); + if (!f) throw std::runtime_error("Truncated producer array"); + if (!little_endian()) for (auto& value : values) normalize_le(value); +} +template void read_array(std::ifstream& f, T (&values)[N]) { + f.read(reinterpret_cast(values), sizeof(values)); + if (!f) throw std::runtime_error("Truncated producer header"); + for (auto& value : values) normalize_le(value); +} +template void write_array(std::ofstream& f, const T (&values)[N]) { + for (auto value : values) { + normalize_le(value); + f.write(reinterpret_cast(&value), sizeof(T)); + } + if (!f) throw std::runtime_error("Cannot write producer array"); +} diff --git a/references/frame-compiler/pr65/references/frame-compiler/pr48/scripts/partial_swap/paired.py b/references/frame-compiler/pr65/references/frame-compiler/pr48/scripts/partial_swap/paired.py new file mode 100644 index 0000000000..b879293977 --- /dev/null +++ b/references/frame-compiler/pr65/references/frame-compiler/pr48/scripts/partial_swap/paired.py @@ -0,0 +1,46 @@ +# Copyright 2026 icekylinx. Licensed under Apache-2.0. +# Adapted with AI assistance from the archived partial-swap research producer. +# Underlying circuit modules: jacklightChen/integer-mult-bounds, PR7 +# commit 6725c6a17b17871a35353fd29157f4ed851bc114; original credits retained. +#!/usr/bin/env python3 +"""Cancellation-free pair exclusion with recursively aggregated vertex weights. + +At each level group vertices in pairs. Internal edges become vertex weights +in the smaller graph. Keeping those weights in the recursion avoids a separate +leave-two-out circuit for each level. All coefficients are checked exactly. +""" +from exclusion_circuit import ExclusionCircuit +from itertools import combinations +class PairedExclusionCircuit(ExclusionCircuit): + base_threshold = 2 + def pair(self,points):return self.block(points,{(a,b):self.variables[a,b] for a,b in combinations(points,2)},{a:0 for a in points}) + def grouping(self,points):return [points[i:i+2] for i in range(0,len(points),2)] + def block(self,points,edges,weights): + if len(points)<=self.base_threshold: + total=lambda omit:self.total([x for p,x in edges.items() if not set(p)&set(omit)]+[x for p,x in weights.items() if p not in omit]) + return total(()),{a:total((a,)) for a in points},{(a,b):total((a,b)) for a,b in combinations(points,2)} + groups=self.grouping(points);ng=len(groups);e=lambda a,b:edges[tuple(sorted((a,b)))] + coarse={(i,j):self.total([e(a,b) for a in groups[i] for b in groups[j]]) for i,j in combinations(range(ng),2)} + wt={i:self.total([weights[a] for a in g]+[e(a,b) for a,b in combinations(g,2)]) for i,g in enumerate(groups)} + total,outside,far=self.block(list(range(ng)),coarse,wt) + strips={};sums={} + for i,g in enumerate(groups): + other=[j for j in range(ng) if j!=i] + for a in g: + carry=self.total([weights[u] for u in g if u!=a]) + vals=[self.total([e(u,v) for u in g if u!=a for v in groups[j]]) for j in other] + st,one,_=self.vector([carry]+vals,False) + strips[a]={j:z for j,z in zip(other,one[1:])};sums[a]=st + out={};single={a:self.add(outside[i],sums[a]) for i,g in enumerate(groups) for a in g} + for i,g in enumerate(groups): + for a,b in combinations(g,2):out[a,b]=outside[i] + for i,j in combinations(range(ng),2): + for a in groups[i]: + left=self.add(far[i,j],strips[a][j]) + for b in groups[j]: + cross=self.total([e(u,v) for u in groups[i] if u!=a for v in groups[j] if v!=b]) + out[a,b]=self.add(left,self.add(strips[b][i],cross)) + return total,single,out +if __name__=='__main__': + for n in (15,25,45,49): + c=PairedExclusionCircuit(n);print(n,c.verify(),flush=True) diff --git a/references/frame-compiler/pr65/references/frame-compiler/pr48/scripts/partial_swap/shared.py b/references/frame-compiler/pr65/references/frame-compiler/pr48/scripts/partial_swap/shared.py new file mode 100644 index 0000000000..a2f0190704 --- /dev/null +++ b/references/frame-compiler/pr65/references/frame-compiler/pr48/scripts/partial_swap/shared.py @@ -0,0 +1,163 @@ +# Copyright 2026 icekylinx. Licensed under Apache-2.0. +# Adapted with AI assistance from the archived partial-swap research producer. +# Underlying circuit modules: jacklightChen/integer-mult-bounds, PR7 +# commit 6725c6a17b17871a35353fd29157f4ed851bc114; original credits retained. +#!/usr/bin/env python3 +"""Merge equal sums across the common-point circuits, with exact certificates. + +Supports are represented by their provenance in the small pair circuit, not +by half a million dense global bit vectors. A sum that occurs in two distinct +common-point groups must be a pair-star; its fixed pair and union of vertices +identify its support exactly. +""" +from functools import lru_cache +from hashlib import sha256 +from itertools import combinations +import json + +from exclusion_circuit import ExclusionCircuit + + +class SharedPointCircuit: + def __init__(self,h,circuit=None,point_order=None): + assert h>=6 and h!=9, 'The ambient form I-J/9 must be nondegenerate' + self.h=h + self.local=circuit or ExclusionCircuit(h-1) + assert self.local.n==h-1, 'Pair circuit has the wrong ground size' + self.inputs=list(combinations(range(h),3)) + self.variables={t:i+1 for i,t in enumerate(self.inputs)} + self.args=[None]*(len(self.inputs)+1) + self.core=[0]+[sum(1<=2 and key in lookup: + mapping[node]=lookup[key];self.merged+=1 + continue + new=len(self.args);mapping[node]=new + self.args.append((a,b));self.core.append(core);self.union.append(union) + self.provenance.append((common,node)) + if core.bit_count()>=2:lookup[key]=new + for pair,node in sorted(self.local.outputs.items()): + t=tuple(sorted((common,*(self.points[common][x] for x in pair)))) + self.outputs[common,t]=mapping[node] + self.active=set();stack=list(self.outputs.values()) + while stack: + n=stack.pop() + if n in self.active:continue + self.active.add(n) + if self.args[n]:stack.extend(self.args[n]) + self.additions=sum(self.args[n] is not None for n in self.active) + + @lru_cache(maxsize=16384) + def support_in(self,node,common): + """Exact pair-input support in coordinates with this common point.""" + assert self.core[node]&(1<2^{-15}.} +\] + +The exact bit saving is 4986382/10^11. The next grid value of the bit saving +fails the exact moment test, and the next κ grid value fails the assembly. + +This is **6.782% above PR #57** (4669442391/10^14), **10.092% above PR #54** +(141532521/3125000000000) and **10.849% above PR #53** (4498144/10^11). It +does not use PR #57's compiler or PR #54's clones. These compare asymptotic +exponent savings, not running times. They are conditional research claims +without independent mathematical review or formal verification. + +Section "Stacking with PR #57's frame compiler" below gives a second, larger +witness, κ = 5101691/10^11, that also uses PR #57's compiler. + +## What changes + +Only the scalar producer DAG changes, in `pair_graph.py`, together with its +pinned carrier matching, `links-{23,25}.uses`. Everything else is PR #53's +`research/skip-strips` pipeline, which is PR #48's `research/copied-fixed` +pipeline, with constants recomputed for the new DAG. + +A role is a physical scratch wire. With c additions, q designated outputs and +μ retained carrier links, the role count is R = c + q − μ. A link lets a +donor addition x = u + w continue its carrier into a later consumer t of u, +when the original envelope of x lies inside the envelope of t: the common core +of t lies inside the core of x, and the cover of x lies inside the cover of t. +So R counts the additions that cannot continue a carrier, plus q. + +### 1. Interval strips + +The paired-exclusion recursion (icekylinx PR #18/#36) needs, for each vertex, +every leave-one-out sum of its k strip values v_1, …, v_k. PR #53 used the +skip-prefix layout s_j = A_(j−2) + (v_(j−1) + B_(j+1)). We build every cyclic +interval of the values instead, each from an interval one item shorter: + + I(a, m) = I(a, m−1) + v_(a+m−1), 2 ≤ m ≤ k−1, + +and output s_j = I(j+1, k−1), with the total I(0, k−1) + v_(k−1). The interval +I(a, m) with m < k−1 has the later consumer I(a−1, m+1) of its last item +v_(a+m−1), and its cover lies inside that consumer's cover, so it can continue +a carrier. Only the k outputs and the total stay unmatched. + +This costs k(k−2)+1 additions instead of about 4k. The role count still falls, +because R counts unmatched additions. In a model of one strip, an exact integer +program over every leave-one-out circuit shows that k−1 unmatched additions is +the minimum for k ≤ 8. Skip-prefix leaves 2k−3 unmatched; intervals leave k−1 +or k. Intervals are used for every strip with k ≥ 3 nonzero values; smaller +strips keep PR #53's layout. Value orders are PR #53's: reversed at the top +level, sorted by (support size, ±support) below it. + +### 2. Core-aware pair assembly + +For groups i < j with members (a, a2) and (b, b2), let F = far[i,j] and let +Sa, Sa2, Sb, Sb2 be the strip outputs that omit the other group. Each of the +four outputs is a sum of four pieces, for example +out[a,b] = F + Sa + Sb + e(a2,b2). PR #53 computes left(a,j) = F + Sa, +then out[a,b] = left(a,j) + (Sb + e(a2,b2)). None of those ten additions can +continue a carrier. We compute + + F+Sa, F+Sa2, F+Sb, F+Sb2, + Y1 = (F+Sb) + Sa, Y2 = (F+Sa) + Sb2, + Y3 = (F+Sa2) + e(a,b2), Y4 = (F+Sb2) + e(a,b), + out[a,b] = e(a2,b2) + Y1, out[a,b2] = e(a2,b) + Y2, + out[a2,b] = Y3 + Sb, out[a2,b2] = Y4 + Sa2. + +Each F+S node then has a later consumer of its strip operand whose envelope +contains its own: the same common core and a larger cover. An exact integer +program over every assembly of these nine pieces, with their actual cores and +covers, shows that 8 unmatched additions per group pair is optimal. The cores +matter: a node such as Sa + e(a2,b2) has the two-point core {c, a2}, so a +one-point-core donor cannot continue into it. Each output needs its own +addition and at least one more addition that serves only that output, and +neither can continue a carrier, so 8 is also a lower bound for this +decomposition. + +### Counts + +| h | v | additions c | outputs q | matched μ | roles R | loss | +|---|---|---|---|---|---|---| +| 23 | 1771 | 62294 | 5336 | 38911 | 28719 | 506 | +| 25 | 2300 | 86595 | 6925 | 55844 | 37676 | 600 | + +PR #53 had R23 = 32946 and R25 = 43409. The physical constants are +m = 575, N = 4,073,300, W = 140,924,496 (PR #53: 160,799,739) and +L = 2,226,400. The complete rank is Wm − N + L = 81,029,738,300. The deficit +N − L is unchanged. + +The weighted matching is pinned in `links-{h}.uses`. `optimize_matching.py` +regenerates it from Rohan Arun's PR #44 optimizer with only the graph import +changed. Its output is not trusted: `profiles.cpp` replays every pinned link, +and `producer.py` recounts every link independently. + +## Why the inherited proofs apply + +The new DAG enters the inherited proofs only through properties and +quantities that `producer.py` recomputes, as for PR #41, #43, #47, #48 and #53: + +- **Scalar outputs.** Every addition joins disjoint supports, every node has a + common point, and every output is the exact leave-two-out sum or retained + total, checked on dense global supports. +- **Carrier links.** Every pinned link lies in the admissible adjacency + (causal order and envelope inclusion), with distinct donors and uses. +- **Physical timeline.** The full physical timeline and every dirty basis + vector are checked in both orientations at h = 23 and 25. +- **Fixed-basis profiles.** These are recomputed from the new DAGs and pinned + matchings: 37,728 and 51,927 distinct transition matrices; 6,026 and 7,981 + of them CRT-checked; zero modular disagreements. Exactly h full center + cleanups appear, so the copied-center replacement applies unchanged. +- **Data corners.** These do not depend on the producer. All 4,073,300 pairs + are replayed, and the ten primary-prime failures are recovered by exact + rational elimination. + +The integer programs explain why the links exist; correctness does not depend +on them. + +## Exact arithmetic + +`verify.py` uses PR #43/#48's exact logarithm and exponential enclosures: + +- The moment at a_b = 4986382/10^11 is below 1; at 4986383/10^11 its exact + lower bound exceeds 1. +- Each of the following is excluded at the new bit saving by an exact lower + bound: the complete child lists of PR #57, #54, #53, #48, #47, #46, #44, + #43, #42, #41 and #40, and the PR #36 baseline. +- The inherited balanced assembly passes all 47 strict conditions and seven + margins at κ = 4986133/10^11 and fails at the next grid value. Its + parameters are β = 1/20, h = 10^-12, a_c = 717/10^7, C1 = 1 and row stock + p^2000. + +## Stacking with PR #57's frame compiler + +PR #57 (eumemic, with OpenAI Codex assistance) compiles each set of nodes that +share one original envelope as a single invertible binary map, matches +retained signals to later uses, and reclaims retired roles with paid XOR +clearing. Its compiler, `scripts/experiments/binary_frame_compiler.py`, is +included unchanged through PR #57's own commit on this branch. +`frame/frame_compile.py` feeds it the hash-pinned `pair_graph.py` instead of +PR #53's graph, exactly as PR #57's driver feeds it PR #53's graph. + +The compiled words give the following role counts: + +| h | roles R, this graph | roles R, compiled | shared-frame regions | retained signals | reclaimed roles | +|---|---|---|---|---|---| +| 23 | 28719 | 27918 | 52473 | 37025 | 801 | +| 25 | 37676 | 36586 | 73695 | 53194 | 1090 | + +With W = 137,151,806 the stacked witness gives + +\[ +\kappa=\frac{5101691}{10^{11}}=5.101691\times10^{-5}, +\] + +with exact bit saving 5101952/10^11. This is **9.257% above PR #57** and +2.318% above the plain witness above. PR #57's own result on PR #53's graph +is 4669442391/10^14. + +`frame/frame_verify.py` checks, as PR #57's verifier does: + +- both serialized XOR words, replayed independently on every input and dirty + basis vector in both orientations; +- every frame transition, reconstructed from the actual XOR word; +- all fixed-basis profiles, with bounded-minor and CRT checks; +- the exact moment, the rejection of the next bit-saving grid value, the + exclusion of PR #53's and PR #57's networks at the new saving, all 47 + strict assembly inequalities, seven margins, and the rejection of the next + κ grid value. + +This stacked witness also depends on PR #57's compiler argument, which has +the same review status as PR #57. + +## Reproduce + +```sh +python3 research/pair-assembly/producer.py --work-dir /tmp/pair-assembly +python3 research/pair-assembly/verify.py +python3 research/pair-assembly/frame/frame_verify.py +python3 research/pair-assembly/optimize_matching.py --work-dir /tmp/pair-opt # optional, needs scipy +python3 research/pair-assembly/frame/frame_compile.py # optional, rewrites the words +``` + +`producer.py --record` rewrites the JSON records. Without `--record` it checks +them against fresh regeneration. `make pair-assembly-verify` runs the first +three commands and the tests. + +## Scope and attribution + +This is a conditional finite certificate. It covers the same written proof +obligations as PR #43–#53: the base theorem, the residual compiler, fixed-tape +recursion, the physical meaning of carrier continuations and copied centers, +the analytic/semantic/routing/recovery interfaces and eventual thresholds. +None of these are re-proved here. There is no formal verification or claim of +global optimality. The stacked witness additionally depends on PR #57's +compiler mechanism and its written argument. + +The interval strips and core-aware pair assembly are new here, by Avi +Eisenberg with assistance from Claude (Anthropic). Everything else is +inherited, with all original notices: + +- Avi Eisenberg PR #53: skip-prefix strips and this pipeline's adaptation. +- eumemic PR #57: the joint frame compiler, used unchanged for the stacked + witness. +- Chafik Boukhalfa PR #43/#46/#48: pipeline, recovery, the sorting idea and + verification code. +- Rohan Arun PR #44: weighted matching; also PR #37/#39/#40/#42/#47. +- RaD / hipotures PR #41: alternating order and changed DAGs. +- Dominik Scholz PR #35/#38. +- James Chang PR #34. +- icekylinx PR #18/#24/#32/#36. +- Zhihao Chen PR #21/#23/#29. +- Paureel / Aurel Prosz, Swapnil Jain, Douglas Colkitt, OpenAI, and + Harvey–van der Hoeven. + +Apache-2.0. diff --git a/references/frame-compiler/pr65/research/pair-assembly/SOURCE.json b/references/frame-compiler/pr65/research/pair-assembly/SOURCE.json new file mode 100644 index 0000000000..439c763887 --- /dev/null +++ b/references/frame-compiler/pr65/research/pair-assembly/SOURCE.json @@ -0,0 +1,147 @@ +{ + "PR34": { + "author": "James Chang (jamesyc)", + "commit": "7fecbe3651e095fb0f450756afdeefd2a9ee80a2", + "contribution": "reversed geometry and all-weight rank-cut identities" + }, + "PR35": { + "author": "Dominik Scholz", + "commit": "9c345a2a11e5f4f3649f7c68214bf9a2a0a3fe9c" + }, + "PR36": { + "author": "icekylinx", + "commit": "11817ccacb564bb7f98789c20dc11d3fece207e3" + }, + "PR37": { + "author": "Rohan Arun", + "commit": "2f7578affce416ad4b6c41f3438ebb734f66a899", + "contribution": "dimension-23 reversed geometry checker" + }, + "PR38": { + "author": "Dominik Scholz", + "commit": "605323bab4ba330de3d1785dc5b3ecb14e8ab747", + "contribution": "contemporaneous independent fixed-both composition, comparison and credit" + }, + "PR39": { + "author": "Rohan Arun", + "commit": "70ae24129649f6d6d4ec6360962a80c3c42a38f1", + "contribution": "fixed-middle modular nonvanishing method adapted to exhaustive two-fixed pair check" + }, + "PR40": { + "author": "Rohan Arun", + "commit": "43f59ff533598762cbc43a5e14af2bbbc76fabbd", + "contribution": "contemporaneous both-fixed baseline; matching order improvement is new here" + }, + "PR41": { + "PR": 41, + "author": "RaD / hipotures", + "commit": "d9c96297d455053b795ee58ba108d5cf892e1c04", + "point_order_blob": "a47df953d275f86bf3fcb100cc425ca8854875ca", + "rad_checkpoint": "7e488e6b25dc1713c1f41baaf1cefbf677507cf3", + "subsequent_inspected_head": "03bde70c0c2a453f1ceae20c619b602841405467" + }, + "PR42": { + "author": "Rohan Arun", + "commit": "c6fc08951c1776a9685802b1810a2f15dbbd4f64", + "contribution": "contemporaneous fixed/alternating composition and exact comparison; different carrier matching" + }, + "PR43": { + "author": "Chafik Boukhalfa with OpenAI Codex assistance", + "commit": "c0fbfd3cc4fd6e95cef54ab307dfb50c69dd96f6", + "contribution": "prior fully checked original-envelope/fixed-basis alternating composition and independent replay checks" + }, + "PR44": { + "author": "Rohan Arun with Anthropic Claude assistance", + "commit": "061414a529f1123668872db44d737e362fbe066f", + "contribution": "weighted matching discovery, pinned carrier links and replay profiler; no optimality claim is required" + }, + "PR46": { + "author": "Chafik Boukhalfa with OpenAI Codex assistance", + "commit": "71b6c960c89295e952522dd44111df9cfc51ae90", + "contribution": "prior verified composition and exact rational recovery of all data pairs; this increment changes both scalar graphs and pinned matchings" + }, + "PR47": { + "author": "Rohan Arun with Anthropic Claude assistance", + "commit": "117caf164e3b235ef20188aa2dc1b49617e9255c", + "contribution": "contemporaneous hill-climbed graph benchmark; no construction component reused in this increment" + }, + "PR48": { + "author": "Chafik Boukhalfa", + "commit": "b7194b8586844956904b33e9fe18f0c75606c11b", + "contribution": "research/copied-fixed pipeline (weighted-matching replay, exact data recovery, verification) reused here", + "pull_request": 48 + }, + "files": { + "certificates/copied-centers-bit-axes.json": "ed307cef595091b11ba8f8e6ff11302ad8db190227a2fbf34c232fd680206254", + "certificates/copied-centers-complex-input.json": "91a9e54b455ecc36c3150abcf4a1c9138691c8faab464b5ce159ba8e376764e7", + "certificates/copied-centers-network.json": "7dbd675e42e22ac076280360f8750031851564bb7a56079e66236fee5d0a6cdf", + "notes/copied-centers-bit.tex": "ccc8191ddb51698251ed4461a4c26104501b9b2ee37ce3cbe82fa73e85ae40dd", + "notes/copied-centers-lemma.tex": "d0ce6d3d504996aadb098227885224e48df46101daec8893523a0a8b7364d8fe", + "notes/structured-bulk-bit.tex": "fddef1b1d902de49e2e4e71bf2c1708c73bc25cbfee107ed6ce3b6d785a5d284", + "references/copied-fixed/pr34/ASSEMBLY_PROOF.md": "88bdd35ac089891dcbd47fb7fb76418c785e6004902f7a987aad571e0a4eea51", + "references/copied-fixed/pr34/downstream-semantic-bulk-assembly.md": "ccdeaeac7c6a1c08483fea2285a7d089d782f2c18b7be867c3fc9f77457637fd", + "references/copied-fixed/pr34/review-arbitrary-routing.md": "f18f535a096abae473db71a4ae3f275d0116d7438fb18594d5b160571db670fd", + "references/copied-fixed/pr34/review-balanced-transform.md": "0c3a5b6f17188205d35cd421ef0c35c71f6111698f497e89da3ef7f870fef862", + "references/copied-fixed/pr34/review-bulk-resampling.md": "12aefaa9a0eee367fb71e8f910ed5f0094e1203d2caa29836b0c37887c446c29", + "references/copied-fixed/pr35/README.md": "7b136ff0f9a1520296e24195dbf981f55dc63e103e1c105735b1540aa640df3c", + "references/copied-fixed/pr35/fixed-basis-two-stage.tex": "cfd97834f3f67378492fd14fddb1f6774f6261164c33f57389b2f729720b7e1f", + "references/copied-fixed/pr35/producer.py": "afa4a68a415d2281f7ef7924bd58952e33a4ae7f84c6437a5e13786d7eb966a8", + "references/copied-fixed/pr35/rankone_profiles.cpp": "a644821881e6cf4a426a3d6908519889b2f0edeb0032ca384e5026bcf16877a6", + "references/copied-fixed/pr41/SOURCE.json": "836d3d588dc4abb24c375c3a4c65a3dc6fc6ccb186a070ee35241886baf48ccd", + "references/copied-fixed/pr41/check_compiled_witness.py": "f358ea1109537993e48d7e9fb1215d793d4d89424f9e6b14359f4bc522173e7b", + "references/copied-fixed/pr41/point_order_search.py": "3021113367ed8fda0b10e7f25a3bc751b7cb39bee05db9c0c912d3b4b1256ac6", + "references/copied-fixed/pr41/producer_search.py": "1fc67fef1401190156f75aaca785537c3b5fb9533fcaadd030d6e922af9f5292", + "references/copied-fixed/pr44/SOURCE.json": "eeb610bdc954586233b9667b49f11ecda211c120e3557621d08b769c5a010459", + "references/copied-fixed/pr44/optimal_graph.py": "8c7dab322e5143d4e760ef9086213a0a9a4e65cb5ead1f7b8a2c68d886e99fdb", + "references/copied-fixed/pr44/optimize_matching.py": "0c3ec1f9c6e3dcee5f5809a9ba5d248c99e26e0b7c3df89f0a5571815a05f22b", + "references/copied-fixed/pr44/profiles.cpp": "2c8c32fdfa0719247e24da41a66da18bd3eef4a8a78e13b5581df86a7be225da", + "research/copied-fixed/balanced_assembly.py": "4d27575dcad2b45a281a34054d311409ecd954f373c0c3a62c29bcc843f06a86", + "research/copied-fixed/comparison-pr40.json": "3cf55a63468df230b57089f66c4a97dbee25ca5a0771f53ef23c972774718060", + "research/copied-fixed/comparison-pr41.json": "58beeb816847707c6c866c72ce078b751f70ab65c5baa7c498f863005602e7a2", + "research/copied-fixed/comparison-pr42.json": "22d8c3347405a1df3bf970c199b5c58062c8fc34d5916c86c1353b97254c4461", + "research/copied-fixed/comparison-pr43.json": "3595db8b0eb1f139c00e6e5984522ba91ac693d26bc32bed07211846024757c6", + "research/copied-fixed/comparison-pr44.json": "d2681a5c0c0020410fe0a23fd4bae51bf31171d55572ba6a79f6c9928a7543de", + "research/copied-fixed/comparison-pr46.json": "f7a34054403075c51289e58b583c05ff42c43e72d286b9c3ff4fc5ae7f4bca44", + "research/copied-fixed/comparison-pr47.json": "d15ecc820d540a2bfea10bc7d72688240aea89245ff27de263b1de0e74e4273a", + "research/copied-fixed/data-corners.json": "82dc2d3e116fc003348d6e9ff0cce90fd70d3d6c156580b769ff3d38b3399e17", + "research/copied-fixed/links-23.uses": "b215350929d15711b502cdcf5878aeedb2cc7dc81dc764977a28d37ece17f86f", + "research/copied-fixed/links-25.uses": "80dd63ea393931211bece7a44329a9da4e2936575cdc3f48c27690bedc2ad0ae", + "research/copied-fixed/original-23.json": "a7976c03e9fb788d79e72efc9afeda0f2cb977f790a532dac28c8d15762613c1", + "research/copied-fixed/original-25.json": "eecd3bc090d9547f5e85244b74403713838005e94561f80f7b2774b36d672b0f", + "research/copied-fixed/profiles-23.json": "f44077350b6759199dd95bf17d4d5e27c2d5c5295c8dcae85234d478827f0ff7", + "research/copied-fixed/profiles-25.json": "746402326f54c01cf32eadb2bf1ce277fc8058dfd34f14182918f1f0e58a3fb7", + "research/copied-fixed/reversed/geometry-source.json": "de0f18e22e2fba877cb5beb4a4b0f3e181938c00b98e2f276708a63ae681ea17", + "research/copied-fixed/reversed/geometry.py": "6f8990c17781d5dd42176762a3f9c95de012248a1470f34654388e5adad3b93f", + "research/copied-fixed/reversed/pr34/certify_reversed.py": "77311474169f64a154c2435bcde9303fbc472cbd9ac4d2b39c76e7560fa9e3a3", + "research/copied-fixed/reversed/pr34/independent_controls.py": "f0450c9a8127b538df6cc36ed744ad707b9e72756af9ce5290023272999c5c65", + "research/copied-fixed/review/pr34-balanced-assembly-audit.txt": "3b3b6bb410f53d874fff51c535b72ed6e1636041a079579df6c7cca2b0ca4ca2", + "research/copied-fixed/scalar-23.json": "b5defb6a89253340440c398e2b1482b3ca71d9f9655bcfe855231de9a4e248c6", + "research/copied-fixed/scalar-25.json": "759366ff6b4293de865248a246c55d0dca538551194f0ac8a85867c64f8473dd", + "research/copied-fixed/search-record.json": "1e5298f543ff2bf07fb81c612da89358517eafbf4e33d337452390471ff427a9", + "research/copied-fixed/timeline-23.json": "540b91c324a0394a2e22d7f448a02ee7a3aa0aa8c2d9e75cded909033ebeacd3", + "research/copied-fixed/timeline-25.json": "3cf71771577b7cc05a2cb0574cd9e3fe7e905734a775ad082f16276f62373b7d", + "research/skip-strips/PROOF.md": "0fad3bfbd7062e1607fc95430170d12f9613cc6d850a18871f1cbc8c27434934", + "research/skip-strips/comparison-pr48.json": "36de96fd3aea4e0b335d3693434f004f05220bc33a4a165596288e038052734b", + "research/skip-strips/links-23.uses": "63e47bdaebb8a5c718a4d65e2d6f6bcb8d7548a32030e3b312157b4fa665b7bf", + "research/skip-strips/links-25.uses": "a8a3b0dd47d5d5a46aa4eaf844f7fbd9279e21547b5c01950a31706e700210d3", + "research/skip-strips/optimize_matching.py": "b8146942253fd34fafb92f6eaca4d145609e4c277704492635135095a03ddacf", + "research/skip-strips/original-23.json": "35caafcaf98170fe5260765248ed8bf43edc33d01e81138e8fa540067192fbb3", + "research/skip-strips/original-25.json": "8ecd5028fcfa9972ee9e1d241a0bc296ac4e1888c42e8f0c05f95e11de326109", + "research/skip-strips/profiles-23.json": "baac5249694959d063a4b0bae156610679682f0782d4254cd509dbf3bd26850f", + "research/skip-strips/profiles-25.json": "214bdd7a5a5c0618d0d5507bc2973b4bb06f88327ee33697823ed1924bcffdf0", + "research/skip-strips/scalar-23.json": "08fd09b33c22f609e241753aa38495fd4bef0bfbc4222d5f7e0301cb0aa9c2bc", + "research/skip-strips/scalar-25.json": "c54a47e688ba8d69fbe095f6775cd540505a80e5977ea53afe8f0051e115633a", + "research/skip-strips/skip_graph.py": "03ee019cdaf73391455aaf4f5dcb4873f4fdcb278179b296c02ea39eafd047e4", + "research/skip-strips/timeline-23.json": "1f7e9ca7efc96855ef64164d8c2ec1026b9e5f1ce95f0858ef6528aee81c150c", + "research/skip-strips/timeline-25.json": "1e7a692e2e73465ecd0138cfe3429dec5a91f8c87998a6318d689ff600213441", + "scripts/copied_centers/physical.py": "837345d1f8753eab0e70f105b1d1bb0db965b993da037b1825ddef3672609d7d", + "scripts/copied_centers_network.py": "409ebfbd8a41c4c4d089aa0949fcf5a949415dc26f57440ffd48b7bd8881e6a9", + "scripts/partial_swap/binary_io.hpp": "d0be783f61ac4b7981e7e48a8c1139b52572302ba76c191c0e9a1b16a1a05e0e", + "scripts/partial_swap/graph.py": "fd8c567759e26a10d2bad05508fd0355eb70fb116664d4e06e1858d0d8cb2ef9", + "scripts/partial_swap/paired.py": "ddcecace3a8e04d690914cbd64873ab8dde8c0c3477a255767b0ed6f639bb0c7", + "scripts/partial_swap/shared.py": "81e9af92cdf38243a540cdcff2062778e449467848d444da37a9553c12ca4c34", + "scripts/partial_swap_network.py": "acdd81b4dea2815f8838a0c3ea8ac4968f2bc13fd7c99173473d865779096782", + "scripts/structured_bulk_assembly.py": "e99467e14211fba699878ed036e1e2362eb8e395dc22f9ecdcecc7fbf2cc736d" + }, + "integration_note": "Against main d55bcd62, binary_io.hpp adds only six standard-library includes. Its functions and binary format are unchanged. Retain the current main header and pin its actual bytes; regenerate inherited certificates on integration." +} diff --git a/references/frame-compiler/pr65/research/pair-assembly/frame/frame-compiler.json b/references/frame-compiler/pr65/research/pair-assembly/frame/frame-compiler.json new file mode 100644 index 0000000000..ab8cde595c --- /dev/null +++ b/references/frame-compiler/pr65/research/pair-assembly/frame/frame-compiler.json @@ -0,0 +1,176 @@ +{ + "status": "Joint frame compilation of the pair-assembly graph; complete dirty basis both orientations", + "axes": { + "23": { + "compiled": { + "h": 23, + "mode": { + "matching": true, + "reclaim": true + }, + "roles": 27918, + "baseline_pr48_roles": 36432, + "histogram": { + "1": 42694, + "0": 301874, + "2": 82328, + "3": 11086, + "4": 10646, + "6": 2005, + "5": 7548, + "8": 1361, + "9": 562, + "10": 597, + "12": 558, + "14": 2005, + "16": 547, + "18": 4220, + "19": 7820, + "22": 23, + "17": 274, + "7": 688, + "15": 396, + "21": 165, + "13": 23 + }, + "rank_mass": 642620, + "elementary_xors": 148958, + "stats": { + "augmentations": 220, + "regions": 52473, + "matched": 37025, + "multi_node_regions": 10350, + "reclaimed": 801, + "clearing_xors": 1398 + }, + "dirty_basis_vectors": 31460, + "complete_dirty_basis_both_orientations": true, + "all_physical_frame_inclusions": true, + "seconds": 26.58313250541687 + }, + "replay": { + "status": "independent serialized word, exact frames, full input and dirty basis both orientations PASS", + "h": 23, + "roles": 27918, + "output_roles": 5336, + "elementary_xors": 148958, + "word_length": 620626, + "full_basis_vectors": 31460, + "rank_mass": 642620, + "histogram": { + "1": 42694, + "0": 162731, + "2": 82328, + "3": 11086, + "4": 10646, + "6": 2005, + "5": 7548, + "8": 1361, + "9": 562, + "10": 597, + "12": 558, + "14": 2005, + "16": 547, + "18": 4220, + "19": 7820, + "22": 23, + "17": 274, + "7": 688, + "15": 396, + "21": 165, + "13": 23 + } + }, + "gzip_sha256": "4629d45d5074f87706db46be3aa3cd369071cd215bc6560d641115aadcce54a0", + "word_sha256": "bd0cbf73756f2e4f8d3879ec6c7a194990eb9ec40aaf3580bdded6994798d920" + }, + "25": { + "compiled": { + "h": 25, + "mode": { + "matching": true, + "reclaim": true + }, + "roles": 36586, + "baseline_pr48_roles": 48329, + "histogram": { + "1": 55478, + "0": 416276, + "2": 115441, + "3": 14362, + "4": 16687, + "5": 10074, + "6": 1767, + "8": 2140, + "9": 790, + "10": 529, + "12": 781, + "14": 625, + "16": 3200, + "18": 519, + "20": 5436, + "21": 10094, + "24": 25, + "17": 687, + "19": 300, + "7": 881, + "23": 220 + }, + "rank_mass": 915250, + "elementary_xors": 205650, + "stats": { + "augmentations": 286, + "regions": 73695, + "matched": 53194, + "multi_node_regions": 13975, + "reclaimed": 1090, + "clearing_xors": 1827 + }, + "dirty_basis_vectors": 41186, + "complete_dirty_basis_both_orientations": true, + "all_physical_frame_inclusions": true, + "seconds": 51.009533166885376 + }, + "replay": { + "status": "independent serialized word, exact frames, full input and dirty basis both orientations PASS", + "h": 25, + "roles": 36586, + "output_roles": 6925, + "elementary_xors": 205650, + "word_length": 854800, + "full_basis_vectors": 41186, + "rank_mass": 915250, + "histogram": { + "1": 55478, + "0": 224000, + "2": 115441, + "3": 14362, + "4": 16687, + "5": 10074, + "6": 1767, + "8": 2140, + "9": 790, + "10": 529, + "12": 781, + "14": 625, + "16": 3200, + "18": 519, + "20": 5436, + "21": 10094, + "24": 25, + "17": 687, + "19": 300, + "7": 881, + "23": 220 + } + }, + "gzip_sha256": "1094276c9ee901e4e5c23062775aad2f50bb5a85a67e64e685d79babcf5b8ecb", + "word_sha256": "634d3cc0fa8e4f592b1924c141bc953524ea08bf683059e18d8ad0c2f26785ec" + } + }, + "source": { + "graph": "research/pair-assembly/pair_graph.py", + "graph_sha256": "3d47e89d2649c90800a276bdd0480131def50e0bdf92c122a19494b55bf17420", + "compiler": "scripts/experiments/binary_frame_compiler.py (PR #57, unchanged)" + } +} diff --git a/references/frame-compiler/pr65/research/pair-assembly/frame/frame_verify.py b/references/frame-compiler/pr65/research/pair-assembly/frame/frame_verify.py new file mode 100644 index 0000000000..d47c1cb3df --- /dev/null +++ b/references/frame-compiler/pr65/research/pair-assembly/frame/frame_verify.py @@ -0,0 +1,176 @@ +#!/usr/bin/env python3 +"""Replay the pair-assembly frame words, actual fixed profiles and assembly. + +Adapted from PR #57's verify_skip_frame.py and skip_frame_compose.py (eumemic, +with OpenAI Codex assistance), with the PR #57 compiler words replaced by the +pair-assembly words. Every XOR word, dirty basis column, frame incidence and +fixed-basis profile is checked; the unchanged data geometry and general +transfer proofs remain inherited dependencies, exactly as in PR #57. +Adapted with assistance from Claude (Anthropic). +Usage: python frame_verify.py [--record] +""" +import sys +sys.dont_write_bytecode = True +from collections import Counter +from fractions import Fraction as Q +from hashlib import sha256 +from math import comb +from pathlib import Path +import argparse +import gzip +import importlib.util +import json +import os +import shlex +import subprocess +import tempfile + +HERE = Path(__file__).resolve().parent +ROOT = HERE.parents[2] +EXP = ROOT/'scripts/experiments' +sys.path.insert(0, str(EXP)) +import binary_frame_math as arithmetic +from binary_frame_profile_prepare import prepare +from binary_frame_replay import replay + +AB_S = 5101952 +KAPPA_S = 5101691 +WIRES_S = 137151806 +MASS_S = 78860441550 +INHERITED = ROOT/'references/frame-compiler/pr48' +OLD = INHERITED/'research/copied-fixed' +AB = Q(AB_S, 10**11) +KAPPA = Q(KAPPA_S, 10**11) +EXCLUDED_ABOVE = Q(AB_S+1, 10**11) +PLAIN_KAPPA = Q(4986133, 10**11) +PR57_KAPPA = Q(4669442391, 10**14) +PR53_KAPPA = Q(4498144, 10**11) + +spec = importlib.util.spec_from_file_location('pair_frame_balanced_assembly', OLD/'balanced_assembly.py') +balanced = importlib.util.module_from_spec(spec) +spec.loader.exec_module(balanced) + + +def check_sources(): + document = json.loads((INHERITED/'SOURCE.json').read_text()) + for name, digest in document['files'].items(): + assert sha256((INHERITED/name).read_bytes()).hexdigest() == digest, name + record = json.loads((HERE/'frame-compiler.json').read_text()) + graph = ROOT/record['source']['graph'] + assert sha256(graph.read_bytes()).hexdigest() == record['source']['graph_sha256'], 'pair_graph.py changed' + return document, record + + +def profile(profiles, words): + a, b = 23, 25 + m, N = a*b, comb(a, 3)*comb(b, 3) + W = 2*N + sum(N//f['v']*f['R'] for f in profiles) + L = sum(N//f['v']*f['loss'] for f in profiles) + parts = {'data': Counter({1: 18*N, 21: 2*N, 17: 2*N, 481: 2*N}), + 'paid_endpoint_copy': Counter({1: N})} + for f in profiles: + h = f['h'] + rep, bank = N//f['v'], N//f['v']*f['R'] + replayed = words['axes'][str(h)]['replay'] + assert f['R'] == replayed['roles'] + assert f['v'] == comb(h, 3) and f['loss'] == h*(h-1) + assert f['crt_disagreements'] == 0 and f['field_prime'] == 2**61-1 + assert sum(t*n for t, n in enumerate(f['blocks'])) == h*f['R']+f['loss'] == f['rank_sum'] == replayed['rank_mass'] + assert f['blocks'][h] == 0 # Copied centers already included. + arithmetic.exactness(h) + parts[f'internal_{h}'] = Counter({t: n*rep for t, n in enumerate(f['blocks']) if t and n}) + parts[f'exterior_{h}'] = Counter({h: bank, m-2*h: bank}) + parts[f'data_growth_{h}'] = Counter({1: 2*N, h-2: 2*N}) + rows = sum(parts.values(), Counter()) + mass = sum(t*n for t, n in rows.items()) + assert mass == m*W-N+L and max(rows) == 529 and all(0 < t < m for t in rows) + assert (W, mass, m*W-mass) == (WIRES_S, MASS_S, 1846900) + return dict(m=m, N=N, W=W, L=L, total_rank=mass, deficit=m*W-mass, maxchild=max(rows), + child_multiplicities=dict(sorted(rows.items())), parts=parts, axes=profiles) + + +def compose(p, sources): + exact = arithmetic.moment(p['m'], p['W'], p['child_multiplicities'], AB) + excluded = arithmetic.moment(p['m'], p['W'], p['child_multiplicities'], EXCLUDED_ABOVE) + assert exact['strict_gap'] > 0 and excluded['lower'] > 1 + controls = {} + for name in ('pr53', 'pr57'): + row = json.loads((HERE.parent/f'comparison-{name}.json').read_text()) + rows = {int(t): n for t, n in row['child_multiplicities'].items()} + controls[name] = arithmetic.moment(row['m'], row['W'], rows, AB)['lower'] + assert controls[name] > 1, name+' network not excluded at stacked saving' + prior = json.loads((OLD/'certificate.json').read_text()) + bridge = prior['finite_bridge'] + bridge['bit']['W'] = p['W'] + assert p['W'].bit_length() == bridge['bit']['wire_bits'] + assembled = balanced.assembly(bridge, AB, KAPPA, a_complex=Q(717, 10**7)) + assert len(assembled['constraints']) == 47 and len(assembled['margins']) == 7 + try: + balanced.assembly(bridge, AB, KAPPA+Q(1, 10**11), a_complex=Q(717, 10**7)) + next_grid_fails = False + except AssertionError: + next_grid_fails = True + assert next_grid_fails + assert KAPPA > PLAIN_KAPPA > PR57_KAPPA > PR53_KAPPA > Q(1, 2**15) and KAPPA < Q(1, 2**14) + local = [HERE/name for name in ('frame_compile.py', 'frame_verify.py')]+[ + EXP/name for name in ('binary_frame_compiler.py', 'binary_frame_math.py', 'binary_frame_replay.py', + 'binary_frame_profile_prepare.py', 'binary_frame_profiles.cpp')] + return dict( + status='Conditional exact fixed-basis moment and balanced assembly; inherited transfer hypotheses remain assumed', + kappa=KAPPA, bit_saving=AB, bit_saving_excluded_above=EXCLUDED_ABOVE, + bit=dict(p, moment=exact, excluded_above_lower=excluded['lower']), + controls=dict(PR53_bit_at_stacked_lower=controls['pr53'], PR57_bit_at_stacked_lower=controls['pr57']), + assembly=assembled, eventual_bounds=balanced.cutoffs(bridge, assembled), finite_bridge=bridge, + comparison=dict(plain_pair_assembly_kappa=PLAIN_KAPPA, ratio_plain=KAPPA/PLAIN_KAPPA, + pr57_kappa=PR57_KAPPA, ratio_pr57=KAPPA/PR57_KAPPA, + pr53_kappa=PR53_KAPPA, ratio_pr53=KAPPA/PR53_KAPPA, next_kappa_grid_fails=next_grid_fails), + exactness=[arithmetic.exactness(h) for h in (23, 25)], sources=sources, + local_source_sha256={str(x.relative_to(ROOT)): sha256(x.read_bytes()).hexdigest() for x in local}, + scope='Pair-assembly graph compiled by PR #57\'s unchanged joint frame compiler. Ordered affine residual ' + 'compiler, fixed-tape recursion, finite scalar overhead, balanced transfer, analytic/routing/recovery ' + 'interfaces and PR #57\'s compiler argument remain inherited.') + + +def verify(record_mode=False): + inherited, words = check_sources() + profiles = [] + with tempfile.TemporaryDirectory(prefix='pair-frame-verify-') as directory: + work = Path(directory) + profiler = work/'profiles' + subprocess.run([*shlex.split(os.environ.get('CXX', 'c++')), '-O3', '-std=c++17', + '-I', str(INHERITED/'scripts/partial_swap'), + str(EXP/'binary_frame_profiles.cpp'), '-o', str(profiler)], check=True) + for h in (23, 25): + word = HERE/f'frame-word-{h}.json.gz' + axis = words['axes'][str(h)] + packed = word.read_bytes() + assert sha256(packed).hexdigest() == axis['gzip_sha256'] + assert sha256(gzip.decompress(packed)).hexdigest() == axis['word_sha256'] + receipt = replay(word) + assert json.loads(json.dumps(receipt)) == axis['replay'] + transitions = work/f'word{h}.bin' + prepared = json.loads(json.dumps(prepare(word, transitions))) + path = HERE/f'frame-transitions-{h}.json' + if record_mode: + path.write_text(json.dumps(prepared, indent=2)+'\n') + assert prepared == json.loads(path.read_text()) + subprocess.run([str(profiler), str(transitions)], check=True, capture_output=True, text=True) + prof = json.loads(Path(str(transitions)+'.profiles.json').read_text()) + path = HERE/f'frame-profiles-{h}.json' + if record_mode: + path.write_text(json.dumps(prof, indent=2)+'\n') + assert prof == json.loads(path.read_text()) + profiles.append(prof) + print(f'PASS h={h}: full dirty basis, exact frame path, every fixed-basis profile', flush=True) + p = profile(profiles, words) + result = compose(p, dict(inherited=inherited, compiler_record=words['source'])) + (HERE/'frame-certificate.json').write_text(json.dumps(arithmetic.js(result), indent=2, sort_keys=True)+'\n') + print('PASS conditional stacked kappa='+str(KAPPA)+'; bit saving='+str(AB), flush=True) + print('47 strict inequalities, seven margins, next grid values rejected, PR #53 and #57 excluded', flush=True) + return result + + +if __name__ == '__main__': + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--record', action='store_true') + verify(parser.parse_args().record) diff --git a/references/frame-compiler/pr65/research/pair-assembly/pair_graph.py b/references/frame-compiler/pr65/research/pair-assembly/pair_graph.py new file mode 100644 index 0000000000..eef8e1eba0 --- /dev/null +++ b/references/frame-compiler/pr65/research/pair-assembly/pair_graph.py @@ -0,0 +1,248 @@ +"""Interval strips and core-aware pair assembly, stacked on PR #53. + +Only the scalar addition DAG changes. Everything else is inherited from +Avi Eisenberg's PR #53 research/skip-strips pipeline, which builds on Chafik +Boukhalfa's PR #48 research/copied-fixed pipeline, Rohan Arun's PR #44 +weighted carrier matching, exact data-corner recovery (PR #46), RaD / +hipotures PR #41 alternating pair order and PR #43's original-envelope / +fixed I+J framework. Those build in turn on icekylinx PR #18/#32/#36 and +earlier credited work. + +New here, two changes to how the paired-exclusion recursion places its sums: + +1. Interval strips. A strip of k values needs every leave-one-out sum. We + build every cyclic interval of the values, each one item longer than an + interval already built: + I(a, m) = I(a, m-1) + v_(a+m-1), + and output s_j = I(j+1, k-1). Each interval I(a, m) with m < k-1 has the + later consumer I(a-1, m+1) of its last item, with a containing cover, so + it can continue a retained carrier. Only the k outputs and the total stay + unmatched. This costs k(k-2)+1 additions instead of about 4k, but the role + count R = additions + outputs - links falls. In a model of one strip, an + exact integer program shows k-1 unmatched additions is the minimum for + k <= 8; intervals reach k-1 or k. They are used for every strip with + k >= 3 nonzero values; smaller strips keep PR #53's layout. + +2. Core-aware pair assembly. For groups i < j with members (a, a2) and + (b, b2), let F = far[i,j] and let Sa, Sa2, Sb, Sb2 be the strip outputs. + Each of the four outputs is F + Sa + Sb + e(a2, b2) and its analogues. We + compute + F+Sa, F+Sa2, F+Sb, F+Sb2, + Y1 = (F+Sb)+Sa, Y2 = (F+Sa)+Sb2, + Y3 = (F+Sa2)+e(a,b2), Y4 = (F+Sb2)+e(a,b), + out[a,b] = e(a2,b2)+Y1, out[a,b2] = e(a2,b)+Y2, + out[a2,b] = Y3+Sb, out[a2,b2] = Y4+Sa2. + Each F+S node then has a later consumer of its strip operand with a + containing envelope (equal common core, larger cover). An exact integer + program over all assemblies of these nine pieces, with the actual cores + and covers, shows 8 unmatched additions per group pair is optimal; the + inherited assembly has 10. + +All supports, envelopes, links and profiles are checked by the inherited +pipeline; nothing here is trusted. + +Apache-2.0, like the inherited files. Prepared with assistance from Claude +(Anthropic). +""" +from itertools import combinations +import sys +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[2] +sys.path.insert(0, str(ROOT / 'scripts')) +from partial_swap.paired import PairedExclusionCircuit +from partial_swap.shared import SharedPointCircuit + + +def alternating_points(h, common): + """RaD PR #41 alternating global pair order (as specialized in PR #43/#48).""" + pairs = [(a, a+1) for a in range(0, h-1, 2) if common not in (a, a+1)] + if common % 2: + pairs.reverse() + head = [x for pair in pairs for x in pair] + return head + [x for x in range(h) if x != common and x not in head] + + +def prefix_suffix(c, vals): + """Ordinary leave-one-out: total and s_j = A_{j-1} + B_{j+1}.""" + n = len(vals) + prefix = [0] + for x in vals: + prefix.append(c.add(prefix[-1], x)) + suffix = [0]*(n+1) + for i in range(n-1, -1, -1): + suffix[i] = c.add(vals[i], suffix[i+1]) + return prefix[-1], [c.add(prefix[i], suffix[i+1]) for i in range(n)] + + +def skip_prefix(c, vals): + """PR #53: s_j = A_{j-2} + (v_{j-1} + B_{j+1}) (1-indexed).""" + k = len(vals) + if k <= 2: + return prefix_suffix(c, vals) + v = [0] + list(vals) + A = [0]*(k+1) + for i in range(1, k): + A[i] = c.add(A[i-1], v[i]) + B = [0]*(k+2) + for i in range(k, 1, -1): + B[i] = c.add(v[i], B[i+1]) + out = [0]*(k+1) + out[1] = B[2] + for j in range(2, k+1): + out[j] = c.add(A[j-2], c.add(v[j-1], B[j+1])) + return c.add(A[k-1], v[k]), out[1:] + + +def interval_splits(k): + """Every cyclic interval I(a, m), 2 <= m <= k-1, as I(a, m-1) + v_(a+m-1); total last.""" + full = (1 << k)-1 + interval = lambda a, m: sum(1 << ((a+t) % k) for t in range(m)) + splits = [(interval(a, m), interval(a, m-1), 1 << ((a+m-1) % k)) + for m in range(2, k) for a in range(k)] + return splits + [(full, interval(0, k-1), 1 << (k-1))] + + +def interval_layout(fallback): + """Interval strips for k >= 3 values; the fallback handles k <= 2.""" + def apply(c, vals): + k = len(vals) + if k < 3: + return fallback(c, vals) + splits = interval_splits(k) + node = {1 << i: x for i, x in enumerate(vals)} + for S, L, R in splits: + node[S] = c.add(node[L], node[R]) + full = (1 << k)-1 + return node[full], [node[full ^ (1 << j)] for j in range(k)] + return apply + + +def reversed_layout(layout): + def apply(c, vals): + total, out = layout(c, list(vals)[::-1]) + return total, out[::-1] + return apply + + +def sorted_layout(layout, sign): + """Apply a layout to values sorted by (support size, sign*support); restore order.""" + def apply(c, vals): + order = sorted(range(len(vals)), key=lambda i: (c.support[vals[i]].bit_count(), sign*c.support[vals[i]])) + total, out = layout(c, [vals[i] for i in order]) + restored = [0]*len(vals) + for position, original in enumerate(order): + restored[original] = out[position] + return total, restored + return apply + + +def leave_one_out(c, values, layout): + """Zero entries are omitted; their leave-one-out value is the total.""" + values = list(values) + nonzero = [i for i, x in enumerate(values) if x] + if not nonzero: + return 0, [0]*len(values) + if len(nonzero) == 1: + x = values[nonzero[0]] + return x, [0 if i in nonzero else x for i in range(len(values))] + total, out = layout(c, [values[i] for i in nonzero]) + result = [total]*len(values) + for i, x in zip(nonzero, out): + result[i] = x + return total, result + + +def circuit_class(h): + deep_sign = 1 if h == 23 else -1 + top = reversed_layout(interval_layout(skip_prefix)) + deep = sorted_layout(interval_layout(skip_prefix), deep_sign) + + class PairAssemblyCircuit(PairedExclusionCircuit): + base_threshold = 2 + + def total(self, values): + values = [x for x in values if x] + if h == 23: + values.reverse() + else: + values.sort(key=lambda node: (self.support[node].bit_count(), self.support[node]), reverse=True) + result = 0 + for node in values: + result = self.add(result, node) + return result + + def block(self, points, edges, weights): + level = getattr(self, '_level', -1) + 1 + self._level = level + try: + return self._block(points, edges, weights, level) + finally: + self._level = level - 1 + + def _block(self, points, edges, weights, level): + if len(points) <= self.base_threshold: + return PairedExclusionCircuit.block(self, points, edges, weights) + layout = top if level == 0 else deep + groups = self.grouping(points) + ng = len(groups) + e = lambda a, b: edges[tuple(sorted((a, b)))] + coarse = {(i, j): self.total([e(a, b) for a in groups[i] for b in groups[j]]) + for i, j in combinations(range(ng), 2)} + wt = {i: self.total([weights[a] for a in g] + [e(a, b) for a, b in combinations(g, 2)]) + for i, g in enumerate(groups)} + total, outside, far = self.block(list(range(ng)), coarse, wt) + strips, sums = {}, {} + for i, g in enumerate(groups): + other = [j for j in range(ng) if j != i] + for a in g: + carry = self.total([weights[u] for u in g if u != a]) + vals = [self.total([e(u, v) for u in g if u != a for v in groups[j]]) for j in other] + st, one = leave_one_out(self, [carry] + vals, layout) + strips[a] = {j: z for j, z in zip(other, one[1:])} + sums[a] = st + out = {} + single = {a: self.add(outside[i], sums[a]) for i, g in enumerate(groups) for a in g} + for i, g in enumerate(groups): + for a, b in combinations(g, 2): + out[a, b] = outside[i] + for i, j in combinations(range(ng), 2): + if len(groups[i]) == 2 and len(groups[j]) == 2: + (a, a2), (b, b2) = groups[i], groups[j] + F = far[i, j] + Sa, Sa2, Sb, Sb2 = strips[a][j], strips[a2][j], strips[b][i], strips[b2][i] + FSa, FSa2 = self.add(F, Sa), self.add(F, Sa2) + FSb, FSb2 = self.add(F, Sb), self.add(F, Sb2) + Y1 = self.add(FSb, Sa) + Y2 = self.add(FSa, Sb2) + Y3 = self.add(FSa2, e(a, b2)) + Y4 = self.add(FSb2, e(a, b)) + out[a, b] = self.add(e(a2, b2), Y1) + out[a, b2] = self.add(e(a2, b), Y2) + out[a2, b] = self.add(Y3, Sb) + out[a2, b2] = self.add(Y4, Sa2) + continue + for a in groups[i]: + left = self.add(far[i, j], strips[a][j]) + for b in groups[j]: + cross = self.total([e(u, v) for u in groups[i] if u != a for v in groups[j] if v != b]) + out[a, b] = self.add(left, self.add(strips[b][i], cross)) + return total, single, out + return PairAssemblyCircuit + + +def graph(h): + assert h in (23, 25) + local = circuit_class(h)(h-1) + total = local.pair(list(range(h-1)))[0] + local.outputs[()] = total + stack = [total] + while stack: + node = stack.pop() + if not node or node in local.active: + continue + local.active.add(node) + if local.args[node]: + stack.extend(local.args[node]) + local.additions = sum(local.args[node] is not None for node in local.active) + return SharedPointCircuit(h, local, point_order=alternating_points) diff --git a/references/frame-compiler/pr65/research/reordered-rank-pair/README.md b/references/frame-compiler/pr65/research/reordered-rank-pair/README.md new file mode 100644 index 0000000000..7248e4e2b7 --- /dev/null +++ b/references/frame-compiler/pr65/research/reordered-rank-pair/README.md @@ -0,0 +1,74 @@ +# Reordering the rank-pair physical compilation + +This experiment changes the schedule of equal-rank regions in PR #63's +composition of the PR #62 scalar graph and PR #60 rank-first compiler. The +23-axis uses increasing `(rank, cover, core)`; the 25-axis uses increasing rank +and decreasing minimum node number. The scalar identities, matched carrier +candidates, synthesis, and descending-rank retirement policy are unchanged. + +Reordering changes which retired physical roles are available when a region +is compiled. The resulting words have the same 27,918 and 36,586 physical +roles, but different paid fixed-I+J profiles. The selected schedules came +from a bounded comparison of reverse-node, core-cover, cover-core, and +reverse-core-cover orders. Core-cover was screened only; the other three +23-axis words and the reverse-node 25-axis word were independently replayed +and physically profiled before selection. Reversing both axes was weaker +than the selected mixed schedule. These finite tests do not prove optimality. + +## Why the schedule remains valid + +Every region retains its exact original envelope and its original linear +map. The wrapper checks every incoming inter-region dependency and every +selected-candidate direction against the new order. Thus all required inputs +are available, and retained carriers still travel forward. The admissibility argument uses these explicit dependency inequalities; +rank ties alone do not certify topological order, especially for source +frames. The complete serialized physical word is replayed on every input +and dirty basis vector in both orientations, and all frame inclusions and +actual fixed-basis profiles are independently regenerated. + +The literal rank identity and all paid endpoint/data/exterior terms use the +unchanged inherited profile constructor. No histogram estimate substitutes +for the physical word. The general transfer, routing, analytic, recovery, +and fixed-tape hypotheses remain inherited conditions; this is a finite +conditional certificate rather than a new formal proof of those hypotheses. + +## Reproduce + +From the repository root, with assertions enabled: + +```sh +PYTHONDONTWRITEBYTECODE=1 python3 research/reordered-rank-pair/verify.py +PYTHONDONTWRITEBYTECODE=1 python3 research/reordered-rank-pair/verify.py --rebuild +PYTHONDONTWRITEBYTECODE=1 python3 research/reordered-rank-pair/test_negative.py +``` + +The first command checks source/artifact hashes, independently replays both +committed words, rebuilds their fixed-I+J profiles, and recomposes the paid +global profile. `--rebuild` also recompiles both words and requires exact +byte equality with the committed decompressed witnesses. Disposable output +goes under `build/reordered-rank-pair` (or `--work-dir`). The tests reject a +missing physical XOR, understated physical role count, changed word/profile +digests, a backward region dependency, and execution with Python assertions +disabled. Arithmetic witnesses and their +independent controls are in `arithmetic/`. + +## Attribution + +The graph is Avi Eisenberg's PR #62 interval-strip/core-aware pair assembly, +prepared with Claude assistance, with its retained credits to PR #53, #48, +#44, #46, #41, #43, and earlier icekylinx work. Chafik Boukhalfa's PR #60 +rank-first compiler derives from eumemic's PR #57 joint frame compiler, +both with OpenAI Codex assistance. Dominik Scholz's PR #63 combines those +sources, with OpenAI GPT-6 Astra assistance. Alejandro Zarzuelo Urdiales's +PR #61 supplies precedent for rational parameter refinement. This bounded +region-order experiment and its packaging are by Rohan Arun with OpenAI +Codex assistance. Original Apache-2.0 notices remain applicable. + +## Live comparison at publication + +PR #64 (`790a14e28e935398072b9a9a68694ce7fba8940f`, @rfu08) reports +`20411033624901463/400000000000000000000` for the unchanged #63 profiles, +with additional independent verification and scoped Lean formalization. +The present changed-schedule bound exceeds that reported value; exact +arithmetic and the source pin are in `current-comparison.json`. This is only +a bound comparison, not a comparison of formal proof coverage. diff --git a/references/frame-compiler/pr65/research/reordered-rank-pair/arithmetic/README.md b/references/frame-compiler/pr65/research/reordered-rank-pair/arithmetic/README.md new file mode 100644 index 0000000000..fed8b1bc5d --- /dev/null +++ b/references/frame-compiler/pr65/research/reordered-rank-pair/arithmetic/README.md @@ -0,0 +1,174 @@ +# Exact arithmetic for the reordered rank-pair witness + +The selected complete paid profile admits + +- bit saving `a = 5103158916233/100000000000000000`; +- backoff `h = 1/1000000000000`, unchanged from PR63; +- `kappa = 2041159402879/40000000000000000 = 0.000051028985071975`. + +All 47 strict assembly inequalities and all seven margins pass. The next bit +saving on the 1e-18 grid has moment strictly above one; the next kappa on that +grid fails the unchanged balanced assembly. The finite sufficient arithmetic +cutoff remains `log2(input) >= 14000000000000`. This is an eventual arithmetic +threshold, not a practical runtime claim or the complete all-size threshold. + +The exact gain above PR63's `5102757/10^11` is +`56602879/40000000000000000`, approximately 0.0027731518 percent relative. +The construction gain is separated from parameter precision: + +| Check | Bit saving | Kappa | Gain versus PR63 | +|---|---:|---:|---:| +| Same 1e-11 grid and same h as PR63 | 0.00005103158 | 0.00005102897 | 0.0000000014 | +| Refined 1e-18 grid; same h | 0.000051031589162330 | 0.000051028985071975 | 0.000000001415071975 | + +The first row passes even with PR63's original low-order exponential bounds, +and its next bit grid point fails with those bounds. Thus its 1.4e-9 gain does +not depend on tightening the numerical enclosure. Precision adds a further +`602879/40000000000000000 = 1.5071975e-11`. + +## Reproduction and source linkage + +Run from any checkout location using Python 3.11 or later: + +```sh +python3 -B research/reordered-rank-pair/arithmetic/refine.py +python3 -B research/reordered-rank-pair/arithmetic/audit.py +python3 -B -m unittest discover -s research/reordered-rank-pair/arithmetic -p test_arithmetic.py -v +``` + +The default commands recompute and compare without writing outputs. An +intentional certificate update uses `--record` on the first two commands. +`refine.py` accepts `--profile PATH` and `--certificate PATH`; `audit.py` +accepts `--certificate PATH` and `--receipt PATH`. + +`certificate.json` pins `../paired-candidate.json`, both arithmetic scripts, +the inherited logarithm implementation and the inherited balanced assembly +by SHA256. All paths are repository relative. It includes the complete exact +per-child logarithm and exponential intervals, weighted moment bounds, +assembly slacks, all seven margins, next-grid failures, comparisons and +sufficient arithmetic cutoffs. `audit-receipt.json` records an independently +computed enclosure and ten deliberate assembly failures. + +This package checks the supplied complete paid profile. The parent +`../verify.py` checks the words, physical replay, actual profile/CRT results, +paid profile assembly and its correspondence to `../paired-candidate.json`. +An arithmetic pass alone does not prove that physical linkage. + +## Rational logarithm enclosure + +For `y >= 1`, put `z = (y-1)/(y+1)`. With `0 <= z < 1`, + +`log(y) = 2 * sum(j>=0, z^(2j+1)/(2j+1))`. + +Every term is nonnegative. Truncation after indices `0,...,J-1` is therefore a +lower bound. For the tail, `2j+1 >= 2J+1` and the powers form a geometric series, +so the upper remainder is + +`2*z^(2J+1)/((2J+1)*(1-z^2))`. + +The inherited helper reduces by powers of 2 to `1 <= y <= 2`, uses `J=32`, +adds the corresponding multiple of `log(2)`, then rounds downward/upward to +the 1e-30 rational grid. These operations preserve the enclosure. + +The independent audit instead reduces by powers of 3/2 to +`1 <= y <= 3/2`, uses `J=60`, and adds the corresponding multiple of +`log(3/2)`. Its exact logarithm enclosure is checked to lie inside the recorded +inherited interval for every child. The two implementations share the +mathematical atanh-series identity but use different range reduction, term +counts and evaluation code; neither relies on machine floating-point logs. + +## Rational exponential and complete moment enclosure + +For a child of dimension `t`, multiplicity `n`, arity `m` and width `W`, the +weight is `w=t*n/(m*W) > 0`. With bit saving `a>0`, its contribution to the +characteristic moment is `w*exp(a*log(m/t))`. The complete histogram includes +all paid parts; neither rare children nor physical transitions are omitted. + +Write `u=a*log_lower` and `v=a*log_upper`. The checker verifies +`0 <= u <= v < 1`. For `S_d(x)=sum(j=0..d, x^j/j!)`, positivity gives + +`S_d(u) <= exp(a*log(m/t))`. + +At `v`, the first omitted term is `v^(d+1)/(d+1)!`; each later term divided by +its predecessor is at most `v/(d+2) < 1`. A geometric majorant therefore gives + +`exp(a*log(m/t)) <= S_d(v) + v^(d+1)/((d+1)!*(1-v/(d+2)))`. + +The primary checker uses `d=8`. It rounds the lower expression downward and +the upper expression upward to the 1e-40 rational grid, multiplies by each +positive exact weight, and sums. Directed rounding can only widen the +interval. Every arithmetic operation uses integers and exact Fractions. + +The independent audit evaluates the exponential by a recurrence through +degree 12. It checks `v<1/1000`, rounds input bounds outward, and bounds the +remaining tail by twice the first omitted term. This is valid because all +successive tail ratios are below 1/2. It independently confirms that the +accepted upper moment is below one and the successor lower moment is above +one. No empirical epsilon, decimal-log assumption or float tolerance enters +the acceptance decision. + +All weights and `log(m/t)` are strictly positive, since `0= 1 + k = 0 + while x > Q(3, 2): + x /= Q(3, 2) + k += 1 + def small(y): + z = (y-1)/(y+1) + power, total = z, Q() + for j in range(60): + total += power/Q(2*j+1) + power *= z*z + return 2*total, 2*total+2*power/(121*(1-z*z)) + lo, hi = small(x) + blo, bhi = small(Q(3, 2)) + return lo+k*blo, hi+k*bhi + + +def independent_moment(profile, saving, recorded_terms): + low, high = Q(), Q() + rows = {int(t): n for t, n in profile['child_multiplicities'].items()} + for t, n in sorted(rows.items()): + lo, hi = log_interval(Q(profile['m'], t)) + recorded = recorded_terms[str(t)] + assert Q(recorded['log_lower']) <= lo <= hi <= Q(recorded['log_upper']) + u, v = lo*saving, hi*saving + assert 0 < u <= v < Q(1, 1000) + # Directed rounding of input logs bounds rational denominator sizes. + u = Q(refine.floor_scaled(u, 10**40), 10**40) + v = Q(refine.ceiling_scaled(v, 10**40), 10**40) + tlo, thi = Q(1), Q(1) + elo, ehi = Q(1), Q(1) + for j in range(1, 13): + tlo, thi = tlo*u/j, thi*v/j + elo, ehi = elo+tlo, ehi+thi + # First omitted term is degree13; subsequent ratios <1/2. + ehi += 2*thi*v/13 + weight = Q(t*n, profile['m']*profile['W']) + low += weight*Q(refine.floor_scaled(elo, 10**40), 10**40) + high += weight*Q(refine.ceiling_scaled(ehi, 10**40), 10**40) + return low, high + + +def audit(certificate): + profile_path = ROOT/certificate['profile_path'] + assert sha256(profile_path.read_bytes()).hexdigest() == certificate['profile_sha256'] + for name, digest in certificate['source_sha256'].items(): + assert sha256((ROOT/name).read_bytes()).hexdigest() == digest, name + source = json.loads(profile_path.read_text()) + p = source['bit'] + assert sum(int(t)*n for t, n in p['child_multiplicities'].items()) == p['total_rank'] + accepted = independent_moment(p, Q(certificate['bit_saving']), certificate['accepted_moment']['terms']) + rejected = independent_moment(p, Q(certificate['next_bit_saving']), certificate['accepted_moment']['terms']) + assert accepted[1] < 1 < rejected[0] + controls = {} + for name, variant in [('preferred', certificate['preferred']), ('coarse_grid_control', certificate['coarse_grid_control'])]: + params = variant['assembly']['parameters'] + result = refine.balanced.assembly(source['finite_bridge'], Q(params['a_bit']), Q(params['kappa']), h=Q(params['h'])) + assert refine.arithmetic.js(result) == variant['assembly'] + assert len(result['constraints']) == 47 and len(result['margins']) == 7 + assert all(v > 0 for v in result['constraints'].values()) + for label, kwargs in [('next_grid', dict(kappa=Q(variant['next_kappa']))), + ('zero_backoff', dict(h=Q())), + ('original_prefix', dict(original_prefix=True)), + ('old_guard', dict(old_guard=True)), + ('old_exposures', dict(old_exposures=True))]: + call = dict(a_bit=Q(params['a_bit']), kappa=Q(params['kappa']), h=Q(params['h'])) + call.update(kwargs) + try: + refine.balanced.assembly(source['finite_bridge'], **call) + except refine.balanced.InvalidAssembly as error: + controls[name+'/'+label] = str(error) + else: + raise AssertionError('Negative control accepted: '+name+'/'+label) + next_a = Q(certificate['next_bit_saving']) + best = Q(certificate['preferred']['kappa']) + cap = next_a/(1+next_a) + assert cap > best + return dict(status='PASS', independent_log_base='3/2', independent_log_terms=60, + independent_exp_degree=12, independent_tail='twice first omitted term', + independent_accepted_gap=1-accepted[1], independent_rejected_gap=rejected[0]-1, + variants_reassembled=2, constraints_each=47, margins_each=7, controls=controls, + fixed_profile_balanced_family_kappa_strict_upper=cap, + remaining_possible_parameter_gain_upper=cap-best) + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--certificate', type=Path, default=HERE/'certificate.json') + parser.add_argument('--receipt', type=Path, default=HERE/'audit-receipt.json') + parser.add_argument('--record', action='store_true') + args = parser.parse_args() + result = refine.arithmetic.js(audit(json.loads(args.certificate.read_text()))) + if args.record: + args.receipt.write_text(json.dumps(result, indent=2, sort_keys=True)+'\n') + else: + assert result == json.loads(args.receipt.read_text()), 'Independent receipt changed' + print('PASS independent logarithm/exponential enclosures; 47 strict constraints; seven margins; ten assembly negative controls') + + +if __name__ == '__main__': + main() diff --git a/references/frame-compiler/pr65/research/reordered-rank-pair/arithmetic/certificate.json b/references/frame-compiler/pr65/research/reordered-rank-pair/arithmetic/certificate.json new file mode 100644 index 0000000000..346cf87ea3 --- /dev/null +++ b/references/frame-compiler/pr65/research/reordered-rank-pair/arithmetic/certificate.json @@ -0,0 +1,1087 @@ +{ + "accepted_moment": { + "degree": 8, + "lower": "34287951499999999998997315662315085394575263036671/34287951500000000000000000000000000000000000000000", + "rounding_denominator": 10000000000000000000000000000000000000000, + "saving": "5103158916233/100000000000000000", + "strict_gap": "2278828040192983762647964739/77927162500000000000000000000000000000000000000", + "terms": { + "1": { + "exp_lower": "5001621630918375893019301295747281962987/5000000000000000000000000000000000000000", + "exp_upper": "10003243261836751786038602591494564437549/10000000000000000000000000000000000000000", + "log_lower": "3177185020398675220004135749131/500000000000000000000000000000", + "log_upper": "6354370040797350440008271498263/1000000000000000000000000000000", + "weight": "61988/2833715" + }, + "10": { + "exp_lower": "1000206790403018649267184041288978248657/1000000000000000000000000000000000000000", + "exp_upper": "2500516976007546623167960103222445749253/2500000000000000000000000000000000000000", + "log_lower": "2025892473901652377995140021789/500000000000000000000000000000", + "log_upper": "4051784947803304755990280043579/1000000000000000000000000000000", + "weight": "7053/6234173" + }, + "11": { + "exp_lower": "10002019255791173815676540174477997136241/10000000000000000000000000000000000000000", + "exp_upper": "2500504813947793453919135043619499411669/2500000000000000000000000000000000000000", + "log_lower": "3956474767998979895946327920297/1000000000000000000000000000000", + "log_upper": "1978237383999489947973163960149/500000000000000000000000000000", + "weight": "34143/28337150" + }, + "12": { + "exp_lower": "244188838955937173152799000772966753/244140625000000000000000000000000000", + "exp_upper": "1000197484363518661233864707166071871331/1000000000000000000000000000000000000000", + "log_lower": "3869463391009350129778562018423/1000000000000000000000000000000", + "log_upper": "483682923876168766222320252303/125000000000000000000000000000", + "weight": "1637772/1714397575" + }, + "13": { + "exp_lower": "10001933988586235970593248414082864793191/10000000000000000000000000000000000000000", + "exp_upper": "10001933988586235970593248414082865303617/10000000000000000000000000000000000000000", + "log_lower": "3789420683335813703954784056697/1000000000000000000000000000000", + "log_upper": "1894710341667906851977392028349/500000000000000000000000000000", + "weight": "3064763/3428795150" + }, + "14": { + "exp_lower": "625118510179239092134146727144581987029/625000000000000000000000000000000000000", + "exp_upper": "5000948081433912737073173817156656151443/5000000000000000000000000000000000000000", + "log_lower": "3715312711182091825485686633361/1000000000000000000000000000000", + "log_upper": "1857656355591045912742843316681/500000000000000000000000000000", + "weight": "1222116/1714397575" + }, + "15": { + "exp_lower": "10001860948095049038065447122495285494181/10000000000000000000000000000000000000000", + "exp_upper": "50009304740475245190327235612476430023/50000000000000000000000000000000000000", + "log_lower": "3646319839695140374012266928113/1000000000000000000000000000000", + "log_upper": "1823159919847570187006133464057/500000000000000000000000000000", + "weight": "437037/685759030" + }, + "16": { + "exp_lower": "10001828006987297838063812648469929988329/10000000000000000000000000000000000000000", + "exp_upper": "2000365601397459567612762529693986099749/2000000000000000000000000000000000000000", + "log_lower": "3581781318557569202339343012429/1000000000000000000000000000000", + "log_upper": "358178131855756920233934301243/100000000000000000000000000000", + "weight": "65416/155854325" + }, + "17": { + "exp_lower": "2500449265917948104603244530335785484971/2500000000000000000000000000000000000000", + "exp_upper": "5000898531835896209206489060671571225149/5000000000000000000000000000000000000000", + "log_lower": "3521156696741134359758736880389/1000000000000000000000000000000", + "log_upper": "352115669674113435975873688039/100000000000000000000000000000", + "weight": "1423053/685759030" + }, + "18": { + "exp_lower": "5000883944812795540643983155649296384137/5000000000000000000000000000000000000000", + "exp_upper": "5000883944812795540643983155649296639343/5000000000000000000000000000000000000000", + "log_lower": "3463998282901185747800548902959/1000000000000000000000000000000", + "log_upper": "43299978536264821847506861287/12500000000000000000000000000", + "weight": "73188/342879515" + }, + "19": { + "exp_lower": "2500435073355895874949004807973392212539/2500000000000000000000000000000000000000", + "exp_upper": "2000348058684716699959203846378713872113/2000000000000000000000000000000000000000", + "log_lower": "1704965530815454989999622033187/500000000000000000000000000000", + "log_upper": "27279448493047279839993952531/8000000000000000000000000000", + "weight": "24073/311708650" + }, + "2": { + "exp_lower": "10002889429351305579391066844438599404943/10000000000000000000000000000000000000000", + "exp_upper": "10002889429351305579391066844438599915793/10000000000000000000000000000000000000000", + "log_lower": "1415305715059351282647759844201/250000000000000000000000000000", + "log_upper": "1132244572047481026118207875361/200000000000000000000000000000", + "weight": "3622866/1714397575" + }, + "20": { + "exp_lower": "5000857056559616993851882270551970640809/5000000000000000000000000000000000000000", + "exp_upper": "400068564524769359508150581644157671681/400000000000000000000000000000000000000", + "log_lower": "83965944181083986164326198053/25000000000000000000000000000", + "log_upper": "3358637767243359446573047922121/1000000000000000000000000000000", + "weight": "26402/342879515" + }, + "21": { + "exp_lower": "5000844605243119232606473780943636091543/5000000000000000000000000000000000000000", + "exp_upper": "2500422302621559616303236890471818173373/2500000000000000000000000000000000000000", + "log_lower": "413730950384240930438459189737/125000000000000000000000000000", + "log_upper": "3309847603073927443507673517897/1000000000000000000000000000000", + "weight": "12978/2981561" + }, + "22": { + "exp_lower": "10001665466600995950680178785864990598847/10000000000000000000000000000000000000000", + "exp_upper": "2500416366650248987670044696466247777313/2500000000000000000000000000000000000000", + "log_lower": "3263327587439034586529095798839/1000000000000000000000000000000", + "log_upper": "81583189685975864663227394971/25000000000000000000000000000", + "weight": "77/2833715" + }, + "23": { + "exp_lower": "10001642778407860986976249508714803404087/10000000000000000000000000000000000000000", + "exp_upper": "1000164277840786098697624950871480391449/1000000000000000000000000000000000000000", + "log_lower": "804718956217050187300379666613/250000000000000000000000000000", + "log_upper": "3218875824868200749201518666453/1000000000000000000000000000000", + "weight": "11447/542102" + }, + "25": { + "exp_lower": "5000800110274057186642873980504034355159/5000000000000000000000000000000000000000", + "exp_upper": "5000800110274057186642873980504034610359/5000000000000000000000000000000000000000", + "log_lower": "313549421592914969080675283181/100000000000000000000000000000", + "log_upper": "3135494215929149690806752831811/1000000000000000000000000000000", + "weight": "11641/566743" + }, + "3": { + "exp_lower": "5001341228208864565852456321215617302809/5000000000000000000000000000000000000000", + "exp_upper": "1000268245641772913170491264243123511627/1000000000000000000000000000000000000000", + "log_lower": "262787887606462037430651313067/50000000000000000000000000000", + "log_upper": "5255757752129240748613026261341/1000000000000000000000000000000", + "weight": "5956407/3428795150" + }, + "4": { + "exp_lower": "10002535609381542984545633250181207029999/10000000000000000000000000000000000000000", + "exp_upper": "2500633902345385746136408312545301885141/2500000000000000000000000000000000000000", + "log_lower": "2484037839838729910586903627673/500000000000000000000000000000", + "log_upper": "4968075679677459821173807255347/1000000000000000000000000000000", + "weight": "95648/74539025" + }, + "481": { + "exp_lower": "5000045546607739441768548232115119086657/5000000000000000000000000000000000000000", + "exp_upper": "2000018218643095776707419292846047736727/2000000000000000000000000000000000000000", + "log_lower": "35700554138317851917337677133/200000000000000000000000000000", + "log_upper": "89251385345794629793344192833/500000000000000000000000000000", + "weight": "13468/271051" + }, + "5": { + "exp_lower": "5001210853727897355673045114388323699841/5000000000000000000000000000000000000000", + "exp_upper": "5001210853727897355673045114388323955101/5000000000000000000000000000000000000000", + "log_lower": "1186233032090812516351878041259/250000000000000000000000000000", + "log_upper": "4744932128363250065407512165037/1000000000000000000000000000000", + "weight": "171439/137151806" + }, + "525": { + "exp_lower": "2500011606112967191389431902824088768163/2500000000000000000000000000000000000000", + "exp_upper": "10000046424451868765557727611296355582971/10000000000000000000000000000000000000000", + "log_lower": "22742944551431673576538712861/250000000000000000000000000000", + "log_upper": "18194355641145338861230970289/200000000000000000000000000000", + "weight": "244461/566743" + }, + "529": { + "exp_lower": "10000042551050640055883233578467532894109/10000000000000000000000000000000000000000", + "exp_upper": "2500010637762660013970808394616883351107/2500000000000000000000000000000000000000", + "log_lower": "41690804469525529197382917321/500000000000000000000000000000", + "log_upper": "83381608939051058394765834643/1000000000000000000000000000000", + "weight": "116748/271051" + }, + "6": { + "exp_lower": "10002328643768966895497189574260748515347/10000000000000000000000000000000000000000", + "exp_upper": "5001164321884483447748594787130374512919/5000000000000000000000000000000000000000", + "log_lower": "4562610571569295439195794139881/1000000000000000000000000000000", + "log_upper": "2281305285784647719597897069941/500000000000000000000000000000", + "weight": "97752/68575903" + }, + "7": { + "exp_lower": "5001124980109214394703176231536499760141/5000000000000000000000000000000000000000", + "exp_upper": "5001124980109214394703176231536500015377/5000000000000000000000000000000000000000", + "log_lower": "4408459891742037134902918754819/1000000000000000000000000000000", + "log_upper": "220422994587101856745145937741/50000000000000000000000000000", + "weight": "8995/5963122" + }, + "8": { + "exp_lower": "1250272725240877662442274762818427730447/1250000000000000000000000000000000000000", + "exp_upper": "2000436360385404259907639620509484470807/2000000000000000000000000000000000000000", + "log_lower": "66795757798711164246196486467/15625000000000000000000000000", + "log_upper": "4274928499117514511756575133889/1000000000000000000000000000000", + "weight": "2308672/1714397575" + }, + "9": { + "exp_lower": "10002121682438781438362153684387409255829/10000000000000000000000000000000000000000", + "exp_upper": "5001060841219390719181076842193704883139/5000000000000000000000000000000000000000", + "log_lower": "4157145463461131057217781024417/1000000000000000000000000000000", + "log_upper": "2078572731730565528608890512209/500000000000000000000000000000", + "weight": "4279437/3428795150" + } + }, + "upper": "77927162499999999997721171959807016237352035261/77927162500000000000000000000000000000000000000" + }, + "binary_search_steps": 46, + "bit_saving": "5103158916233/100000000000000000", + "coarse_grid_control": { + "assembly": { + "absorption_gap": "147772050946704450795209/25001275789499997448421000000000000", + "constraints": { + "K_dominates_log": "1275789506246172631493752551579/25001275789499997448421000000000000", + "K_geometry": "18751275789506247448421/25001275789499997448421000000000000", + "a_below_b": "1033421/50000000000", + "a_positive": "2551579/50000000000", + "alpha_below_one": "49999999999975001275789499997448421/50002551578999994896842000000000000", + "alpha_below_one_fourth": "12498086315725005103157999997448421/50002551578999994896842000000000000", + "alpha_positive": "2551579024993621052500002551579/50002551578999994896842000000000000", + "artificial_boundary": "1400081650528274840526312499992345263/200010206315999979587368000000000000", + "b_below_one_over32": "311783/10000000", + "beta_below_one": "19/20", + "beta_positive": "1/20", + "c_below_one": "24998724210493752551579/25000000000000000000000", + "c_positive": "1275789506247448421/25000000000000000000000", + "cell_above_band": "49999999999924998724210500002551579/100005103157999989793684000000000000", + "compact_leaf": "427085500002551579/25000000000000000000000", + "compact_reservations": "1/4000000000000", + "delta_below_one_eighth": "999999999999/8000000000000", + "delta_positive": "1/8000000000000", + "epsilon_below_one": "1275789524997448421/25001275789499997448421", + "epsilon_positive": "24999999999975000000000/25001275789499997448421", + "g1_above_kappa": "17277332673620444824363/2500127578949999744842100000000000", + "g2_above_kappa": "261/100000000000", + "g3_above_kappa": "147772050946704450795209/25001275789499997448421000000000000", + "g4_above_kappa": "261/100000000000", + "g5_above_kappa": "251436046988427119741387/40002041263199995917473600000000000", + "g6_above_kappa": "1357185338100135588500619/200010206315999979587368000000000000", + "g7_above_kappa": "2499872421062277587831520444824363/2500127578949999744842100000000000", + "gamma_sublinear": "1/2000000000000", + "guard_width": "1275789524997448421/25001275789499997448421", + "lambda_above_internal": "2551579/50000000000000000000000", + "lambda_above_sigma": "1033421000002551579/50000000000000000000000", + "lambda_above_tau": "2551579/50000000000000000000000", + "lambda_prime_above_lambda": "2551579/50000000000000000000000", + "lambda_prime_below_one": "1275789499997448421/25000000000000000000000", + "literal_scalar_guard": "9693793493753822316795466474748", + "phase_boundary": "2041263214994641684100002551579/40002041263199995917473600000000000", + "phase_leaf_above_bit": "854171/50000000000", + "phase_local": "10206316174978311578500002551579/200010206315999979587368000000000000", + "prime_interval_packing": "1275789524997448421/25001275789499997448421", + "q_below_internal": "2551579/25000000000000000000000", + "q_below_leaf": "427085500002551579/25000000000000000000000", + "q_below_reservations": "1/4000000000000", + "q_positive": "1275789499997448421/25000000000000000000000", + "record_suffix": "1275789524997448421/25001275789499997448421", + "row_product_gap": "6548/25", + "short_record_fallback": "1249936207268472303386010555393241/1250063789474999872421050000000000", + "small_field_exposure": "1/1000000000000" + }, + "finite_bridge": { + "bit": { + "W": 137151806, + "halving_degree": 9, + "m": 575, + "maxchild": 529, + "wire_bits": 28 + }, + "complex": { + "W": 537696432, + "halving_degree": 20, + "m": 784, + "maxchild": 756, + "s": 421548223824, + "scalar_group_upper": 4793351472, + "wire_bits": 30 + }, + "rows": { + "coefficient": 852, + "degree": 2000, + "degree_gap": "6548/25", + "suffix_slope": 8000 + }, + "semantic": { + "B": 9696565176891520488614054257040, + "C0": 2358858462850846165593256368932965330169899180021667007021321420800, + "C1": 1, + "E": 9696565176891520488192506033216, + "induction_gap": 533311084729033626873772984137200, + "literal_charge": 2771683137698171397039558468, + "strict_literal_gap": 9693793493753822316795466474748 + } + }, + "margins": { + "g1": "1275789524997448421/25001275789499997448421", + "g2": "2551579/50000000000", + "g3": "1275789499996172631500002551579/25001275789499997448421000000000000", + "g4": "2551579/50000000000", + "g5": "2041263214994641684100002551579/40002041263199995917473600000000000", + "g6": "10206316174978311578500002551579/200010206315999979587368000000000000", + "g7": "24999999999975000000000/25001275789499997448421" + }, + "minimum_margin": "1275789499996172631500002551579/25001275789499997448421000000000000", + "parameters": { + "C0": 2358858462850846165593256368932965330169899180021667007021321420800, + "C1": "1", + "a_bit": "2551579/50000000000", + "a_complex": "717/10000000", + "alpha_squared_power": "2551579024993621052500002551579/50002551578999994896842000000000000", + "beta": "1/20", + "c": "1275789506247448421/25000000000000000000000", + "delta": "1/8000000000000", + "epsilon": "24999999999975000000000/25001275789499997448421", + "h": "1/1000000000000", + "kappa": "5102897/100000000000", + "lambda_": "49997448421000002551579/50000000000000000000000", + "lambda_prime": "24998724210500002551579/25000000000000000000000", + "q": "1275789499997448421/25000000000000000000000", + "sigma": "9999283/10000000", + "tau": "49997448421/50000000000" + }, + "recurrence": { + "internal": "49997448421/50000000000", + "leaf": "199986377/200000000", + "reservations": "24998724210493752551579/25000000000000000000000" + }, + "scoped_limit": "2551579/50002551579" + }, + "bit_saving": "2551579/50000000000", + "eventual_bounds": { + "additional_eventual_conditions": [ + "BHP prime threshold and distinct-prime packing", + "Fixed rational basis, eligible common prime and native table setup", + "Catalogue/descriptor domination, logarithm absorption, exact recovery" + ], + "all_interval_argument": "For [Z,Z+k), bound RHS at Z+k and LHS at floor(Z/k). Successive intervals double LHS; the positive affine RHS grows at most linearly, so 2^j >= j+1 proves persistence.", + "common_cutoff": 14000000000000, + "cutoff_log2_input": { + "alpha": 6144678545, + "compact": 24578714177, + "geometry": 3999931962522, + "guard": 4350470, + "log_p": 25, + "normalization": 14000000000000, + "period": 49157428353, + "phase_cell": 19, + "reservoir": 14, + "stopped_leaf": 252 + }, + "power_checkpoints": [ + { + "log2_input": 14000000000000, + "powers": { + "alpha": { + "exponent": 714395060, + "rhs": 112000000156840, + "rhs_bits": 47 + }, + "compact": { + "exponent": 714395060, + "rhs": 448000000627296, + "rhs_bits": 49 + }, + "leaf": { + "exponent": 666666666666, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 714395060, + "rhs": 224000000313608, + "rhs_bits": 48 + }, + "rows": { + "exponent": 714395060, + "rhs": 112000000156840000, + "rhs_bits": 57 + } + } + }, + { + "log2_input": 28000000000000, + "powers": { + "alpha": { + "exponent": 1428790120, + "rhs": 224000000156840, + "rhs_bits": 48 + }, + "compact": { + "exponent": 1428790120, + "rhs": 896000000627296, + "rhs_bits": 50 + }, + "leaf": { + "exponent": 1333333333333, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 1428790120, + "rhs": 448000000313608, + "rhs_bits": 49 + }, + "rows": { + "exponent": 1428790120, + "rhs": 224000000156840000, + "rhs_bits": 58 + } + } + }, + { + "log2_input": 56000000000000, + "powers": { + "alpha": { + "exponent": 2857580241, + "rhs": 448000000156840, + "rhs_bits": 49 + }, + "compact": { + "exponent": 2857580241, + "rhs": 1792000000627296, + "rhs_bits": 51 + }, + "leaf": { + "exponent": 2666666666666, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 2857580241, + "rhs": 896000000313608, + "rhs_bits": 50 + }, + "rows": { + "exponent": 2857580241, + "rhs": 448000000156840000, + "rhs_bits": 59 + } + } + }, + { + "log2_input": 112000000000000, + "powers": { + "alpha": { + "exponent": 5715160483, + "rhs": 896000000156840, + "rhs_bits": 50 + }, + "compact": { + "exponent": 5715160483, + "rhs": 3584000000627296, + "rhs_bits": 52 + }, + "leaf": { + "exponent": 5333333333333, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 5715160483, + "rhs": 1792000000313608, + "rhs_bits": 51 + }, + "rows": { + "exponent": 5715160483, + "rhs": 896000000156840000, + "rhs_bits": 60 + } + } + }, + { + "log2_input": 224000000000000, + "powers": { + "alpha": { + "exponent": 11430320967, + "rhs": 1792000000156840, + "rhs_bits": 51 + }, + "compact": { + "exponent": 11430320967, + "rhs": 7168000000627296, + "rhs_bits": 53 + }, + "leaf": { + "exponent": 10666666666666, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 11430320967, + "rhs": 3584000000313608, + "rhs_bits": 52 + }, + "rows": { + "exponent": 11430320967, + "rhs": 1792000000156840000, + "rhs_bits": 61 + } + } + }, + { + "log2_input": 448000000000000, + "powers": { + "alpha": { + "exponent": 22860641934, + "rhs": 3584000000156840, + "rhs_bits": 52 + }, + "compact": { + "exponent": 22860641934, + "rhs": 14336000000627296, + "rhs_bits": 54 + }, + "leaf": { + "exponent": 21333333333333, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 22860641934, + "rhs": 7168000000313608, + "rhs_bits": 53 + }, + "rows": { + "exponent": 22860641934, + "rhs": 3584000000156840000, + "rhs_bits": 62 + } + } + } + ], + "practical_runtime_claim": false + }, + "kappa": "5102897/100000000000", + "next_kappa": "2551449/50000000000", + "next_kappa_rejection": "{'g1_above_kappa': '-3861971557939776312029/1250063789474999872421050000000000', 'g3_above_kappa': '-102240706948295523689001/25001275789499997448421000000000000', 'g5_above_kappa': '-148584365643572839433349/40002041263199995917473600000000000', 'g6_above_kappa': '-642916725059864207373061/200010206315999979587368000000000000'}", + "original_enclosure_control": { + "accepted_upper": "31414992474181823539041702638067726953223056746772774820280620883954624480305519031745809764132994753882959208071327673451891977500917359580739448204316627613266780596935363578879651608348551002554602192748716268528516725933970431888266732694392744516294938417364990394615459496174135452875261376547601026472470226550667164245213471672673356552873415990292886450680769855783208863391794669086641914987931788023468477730670510596084024075441538328713023339916398705498355221133970083432695259402733395827765524378869634877859432717500503762008141825929233798931167008254709475368374051508388865497584191790219342658185334902048023058803459831350043847989335813486544496037300755940307394107652855486456896566575748317602547494848406247443162533947105245390168398328016459797877468285152634495601980504971432647153838327703599916923129770537527763252079817632121422808367288976061726138191284657279243722541218532065785928083475110872929968618380998934997039362092148018713422246239745551881230117940054196601787013559986011292764417361901016082566421251251012796046354407091934611225772748232290671622065318731567021326655644433/31414992474313928708180677874523621352103556206396664915326573931249860477582831911222317820380827856642039713344072149134147290838751531190936044695701314916811987072594709057045214808187944535470830707987621606984629316990440314337928054373375239756786622747536638358910194874324537834871658829915196615134159915111843176058062858398672677319063507082132196557150809134463687646912815011944937916567827230684945134911902541741913908828373190059709863602873297351619699439315502609902441966270292307166646440080416271209577604712655987561111810454673336732766552145593680695393728809448293097946140834850551963984106408521113636519343699470563400737447659076590127108692675420700718486850662726460389191754854035249509438356371913439956070892922708754251914760229957817430459967799146328317903978512043261923216018417388785375175312052564481508758456363897794780826879543255296865094989354227737926374713389566671431655092360096234539036355176207671348640178309523607871939963595335502695552839476616785591517423577290524646680111733605065635354851433706404171727955918218555419921577500000000000000000000000000000000000000000", + "next_bit_lower": "83629150000032150841840339335260391704594576990920669747612543458292027591267047206938392674041113125970424391021640961919112939837/83629150000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + "comparison": { + "additional_precision_gain": "602879/40000000000000000", + "difference": "56602879/40000000000000000", + "kappa": "2041159402879/40000000000000000", + "pr63_kappa": "5102757/100000000000", + "structural_gain_on_original_grid": "7/5000000000" + }, + "grid_denominator": 1000000000000000000, + "next_bit_saving": "51031589162331/1000000000000000000", + "preferred": { + "assembly": { + "absorption_gap": "693483857012977651709354807/2000102063178324455873643350680000000000000000", + "constraints": { + "K_dominates_log": "150092910035814427153715035479936249/2941326563497535964520063751000000000000", + "K_geometry": "37502551579470611396841083767/50002551579458111396841083767000000000000", + "a_below_b": "2066841083767/100000000000000000", + "a_positive": "5103158916233/100000000000000000", + "alpha_below_one": "99999999999950002551579458111396841083767/100005103158916222793682167534000000000000", + "alpha_below_one_fourth": "24996172630762835456317832460896841083767/100005103158916222793682167534000000000000", + "alpha_positive": "5103158966220242102709422603158916233/100005103158916222793682167534000000000000", + "artificial_boundary": "2800163301085869137052567735422190523251301/400020412635664891174728670136000000000000", + "b_below_one_over32": "311783/10000000", + "beta_below_one": "19/20", + "beta_positive": "1/20", + "c_below_one": "49997448420529388603158916233/50000000000000000000000000000", + "c_positive": "2551579470611396841083767/50000000000000000000000000000", + "cell_above_band": "99999999999849997448420541888603158916233/200010206317832445587364335068000000000000", + "compact_leaf": "854170541888603158916233/50000000000000000000000000000", + "compact_reservations": "1/4000000000000", + "delta_below_one_eighth": "999999999999/8000000000000", + "delta_positive": "1/8000000000000", + "epsilon_below_one": "2551579508111396841083767/50002551579458111396841083767", + "epsilon_positive": "49999999999950000000000000000/50002551579458111396841083767", + "g1_above_kappa": "2000102756662181468851295060034807/2000102063178324455873643350680000000000000000", + "g2_above_kappa": "520818071/200000000000000000", + "g3_above_kappa": "693483857012977651709354807/2000102063178324455873643350680000000000000000", + "g4_above_kappa": "520818071/200000000000000000", + "g5_above_kappa": "750038967175728683930267965859807/2000102063178324455873643350680000000000000000", + "g6_above_kappa": "1750089998764890911867089641199807/2000102063178324455873643350680000000000000000", + "g7_above_kappa": "1999897936819675646883018830788851295060034807/2000102063178324455873643350680000000000000000", + "gamma_sublinear": "1/2000000000000", + "guard_width": "2551579508111396841083767/50002551579458111396841083767", + "lambda_above_internal": "5103158916233/100000000000000000000000000000", + "lambda_above_sigma": "2066841083772103158916233/100000000000000000000000000000", + "lambda_above_tau": "5103158916233/100000000000000000000000000000", + "lambda_prime_above_lambda": "5103158916233/100000000000000000000000000000", + "lambda_prime_below_one": "2551579458111396841083767/50000000000000000000000000000", + "literal_scalar_guard": "9693793493753822316795466474748", + "phase_boundary": "4082527162975683366275915803158916233/80004082527132978234945734027200000000000", + "phase_leaf_above_bit": "1708341083767/100000000000000000", + "phase_local": "20412636014888623149212024603158916233/400020412635664891174728670136000000000000", + "prime_interval_packing": "2551579508111396841083767/50002551579458111396841083767", + "q_below_internal": "5103158916233/50000000000000000000000000000", + "q_below_leaf": "854170541888603158916233/50000000000000000000000000000", + "q_below_reservations": "1/4000000000000", + "q_positive": "2551579458111396841083767/50000000000000000000000000000", + "record_suffix": "2551579508111396841083767/50002551579458111396841083767", + "row_product_gap": "6548/25", + "short_record_fallback": "4999744829028072887861858675469183867110910289/5000255157945811139684108376700000000000000000", + "small_field_exposure": "1/1000000000000" + }, + "finite_bridge": { + "bit": { + "W": 137151806, + "halving_degree": 9, + "m": 575, + "maxchild": 529, + "wire_bits": 28 + }, + "complex": { + "W": 537696432, + "halving_degree": 20, + "m": 784, + "maxchild": 756, + "s": 421548223824, + "scalar_group_upper": 4793351472, + "wire_bits": 30 + }, + "rows": { + "coefficient": 852, + "degree": 2000, + "degree_gap": "6548/25", + "suffix_slope": 8000 + }, + "semantic": { + "B": 9696565176891520488614054257040, + "C0": 2358858462850846165593256368932965330169899180021667007021321420800, + "C1": 1, + "E": 9696565176891520488192506033216, + "induction_gap": 533311084729033626873772984137200, + "literal_charge": 2771683137698171397039558468, + "strict_literal_gap": 9693793493753822316795466474748 + } + }, + "margins": { + "g1": "2551579508111396841083767/50002551579458111396841083767", + "g2": "5103158916233/100000000000000000", + "g3": "2551579458108845261625655603158916233/50002551579458111396841083767000000000000", + "g4": "5103158916233/100000000000000000", + "g5": "4082527162975683366275915803158916233/80004082527132978234945734027200000000000", + "g6": "20412636014888623149212024603158916233/400020412635664891174728670136000000000000", + "g7": "49999999999950000000000000000/50002551579458111396841083767" + }, + "minimum_margin": "2551579458108845261625655603158916233/50002551579458111396841083767000000000000", + "parameters": { + "C0": 2358858462850846165593256368932965330169899180021667007021321420800, + "C1": "1", + "a_bit": "5103158916233/100000000000000000", + "a_complex": "717/10000000", + "alpha_squared_power": "5103158966220242102709422603158916233/100005103158916222793682167534000000000000", + "beta": "1/20", + "c": "2551579470611396841083767/50000000000000000000000000000", + "delta": "1/8000000000000", + "epsilon": "49999999999950000000000000000/50002551579458111396841083767", + "h": "1/1000000000000", + "kappa": "2041159402879/40000000000000000", + "lambda_": "99994896841083772103158916233/100000000000000000000000000000", + "lambda_prime": "49997448420541888603158916233/50000000000000000000000000000", + "q": "2551579458111396841083767/50000000000000000000000000000", + "sigma": "9999283/10000000", + "tau": "99994896841083767/100000000000000000" + }, + "recurrence": { + "internal": "99994896841083767/100000000000000000", + "leaf": "199986377/200000000", + "reservations": "49997448420529388603158916233/50000000000000000000000000000" + }, + "scoped_limit": "5103158916233/100005103158916233" + }, + "eventual_bounds": { + "additional_eventual_conditions": [ + "BHP prime threshold and distinct-prime packing", + "Fixed rational basis, eligible common prime and native table setup", + "Catalogue/descriptor domination, logarithm absorption, exact recovery" + ], + "all_interval_argument": "For [Z,Z+k), bound RHS at Z+k and LHS at floor(Z/k). Successive intervals double LHS; the positive affine RHS grows at most linearly, so 2^j >= j+1 proves persistence.", + "common_cutoff": 14000000000000, + "cutoff_log2_input": { + "alpha": 6144678545, + "compact": 24578714177, + "geometry": 3999931962510, + "guard": 4350469, + "log_p": 25, + "normalization": 14000000000000, + "period": 49157428353, + "phase_cell": 19, + "reservoir": 14, + "stopped_leaf": 252 + }, + "power_checkpoints": [ + { + "log2_input": 14000000000000, + "powers": { + "alpha": { + "exponent": 714395060, + "rhs": 112000000156840, + "rhs_bits": 47 + }, + "compact": { + "exponent": 714395060, + "rhs": 448000000627296, + "rhs_bits": 49 + }, + "leaf": { + "exponent": 666666666666, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 714395060, + "rhs": 224000000313608, + "rhs_bits": 48 + }, + "rows": { + "exponent": 714395060, + "rhs": 112000000156840000, + "rhs_bits": 57 + } + } + }, + { + "log2_input": 28000000000000, + "powers": { + "alpha": { + "exponent": 1428790120, + "rhs": 224000000156840, + "rhs_bits": 48 + }, + "compact": { + "exponent": 1428790120, + "rhs": 896000000627296, + "rhs_bits": 50 + }, + "leaf": { + "exponent": 1333333333333, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 1428790120, + "rhs": 448000000313608, + "rhs_bits": 49 + }, + "rows": { + "exponent": 1428790120, + "rhs": 224000000156840000, + "rhs_bits": 58 + } + } + }, + { + "log2_input": 56000000000000, + "powers": { + "alpha": { + "exponent": 2857580241, + "rhs": 448000000156840, + "rhs_bits": 49 + }, + "compact": { + "exponent": 2857580241, + "rhs": 1792000000627296, + "rhs_bits": 51 + }, + "leaf": { + "exponent": 2666666666666, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 2857580241, + "rhs": 896000000313608, + "rhs_bits": 50 + }, + "rows": { + "exponent": 2857580241, + "rhs": 448000000156840000, + "rhs_bits": 59 + } + } + }, + { + "log2_input": 112000000000000, + "powers": { + "alpha": { + "exponent": 5715160483, + "rhs": 896000000156840, + "rhs_bits": 50 + }, + "compact": { + "exponent": 5715160483, + "rhs": 3584000000627296, + "rhs_bits": 52 + }, + "leaf": { + "exponent": 5333333333333, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 5715160483, + "rhs": 1792000000313608, + "rhs_bits": 51 + }, + "rows": { + "exponent": 5715160483, + "rhs": 896000000156840000, + "rhs_bits": 60 + } + } + }, + { + "log2_input": 224000000000000, + "powers": { + "alpha": { + "exponent": 11430320967, + "rhs": 1792000000156840, + "rhs_bits": 51 + }, + "compact": { + "exponent": 11430320967, + "rhs": 7168000000627296, + "rhs_bits": 53 + }, + "leaf": { + "exponent": 10666666666666, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 11430320967, + "rhs": 3584000000313608, + "rhs_bits": 52 + }, + "rows": { + "exponent": 11430320967, + "rhs": 1792000000156840000, + "rhs_bits": 61 + } + } + }, + { + "log2_input": 448000000000000, + "powers": { + "alpha": { + "exponent": 22860641934, + "rhs": 3584000000156840, + "rhs_bits": 52 + }, + "compact": { + "exponent": 22860641934, + "rhs": 14336000000627296, + "rhs_bits": 54 + }, + "leaf": { + "exponent": 21333333333333, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 22860641934, + "rhs": 7168000000313608, + "rhs_bits": 53 + }, + "rows": { + "exponent": 22860641934, + "rhs": 3584000000156840000, + "rhs_bits": 62 + } + } + } + ], + "practical_runtime_claim": false + }, + "kappa": "2041159402879/40000000000000000", + "next_kappa": "6378623133997/125000000000000000", + "next_kappa_rejection": "{'g3_above_kappa': '-4083181894266708763013401699/6250318947432263924605135470875000000000000000'}" + }, + "profile_path": "research/reordered-rank-pair/paired-candidate.json", + "profile_sha256": "34a500d739537235dfc5d24325c22856ca4567b9eac998a3bce9b13db5501940", + "proof_limits": [ + "The complete physical profile is supplied; independent word and CRT replay are parent-verifier responsibilities.", + "The rational logarithm and exponential enclosure derivations are documented in README.md, not formally mechanized.", + "All-size compiler, routing, recovery, prime-selection and fixed-tape transfer remain inherited.", + "Neither global optimality nor measured practical speedup is claimed." + ], + "rejected_moment": { + "degree": 8, + "lower": "8571987875000000003683551653063012975552828889113/8571987875000000000000000000000000000000000000000", + "rounding_denominator": 10000000000000000000000000000000000000000, + "saving": "51031589162331/1000000000000000000", + "strict_gap": "-920887913265753353254538048853/2142996968750000000000000000000000000000000000000", + "terms": { + "1": { + "exp_lower": "2000648652367350369920582377063597092877/2000000000000000000000000000000000000000", + "exp_upper": "250081081545918796240072797132949649399/250000000000000000000000000000000000000", + "log_lower": "3177185020398675220004135749131/500000000000000000000000000000", + "log_upper": "6354370040797350440008271498263/1000000000000000000000000000000", + "weight": "61988/2833715" + }, + "10": { + "exp_lower": "1250258488003773316649758574168230193791/1250000000000000000000000000000000000000", + "exp_upper": "10002067904030186533198068593345842060769/10000000000000000000000000000000000000000", + "log_lower": "2025892473901652377995140021789/500000000000000000000000000000", + "log_upper": "4051784947803304755990280043579/1000000000000000000000000000000", + "weight": "7053/6234173" + }, + "11": { + "exp_lower": "2500504813947793463812319247263927798241/2500000000000000000000000000000000000000", + "exp_upper": "10002019255791173855249276989055711703399/10000000000000000000000000000000000000000", + "log_lower": "3956474767998979895946327920297/1000000000000000000000000000000", + "log_upper": "1978237383999489947973163960149/500000000000000000000000000000", + "weight": "34143/28337150" + }, + "12": { + "exp_lower": "5000987421817593325520461283451770998243/5000000000000000000000000000000000000000", + "exp_upper": "2500493710908796662760230641725885626729/2500000000000000000000000000000000000000", + "log_lower": "3869463391009350129778562018423/1000000000000000000000000000000", + "log_upper": "483682923876168766222320252303/125000000000000000000000000000", + "weight": "1637772/1714397575" + }, + "13": { + "exp_lower": "10001933988586236008494783943791019880507/10000000000000000000000000000000000000000", + "exp_upper": "10001933988586236008494783943791020390933/10000000000000000000000000000000000000000", + "log_lower": "3789420683335813703954784056697/1000000000000000000000000000000", + "log_upper": "1894710341667906851977392028349/500000000000000000000000000000", + "weight": "3064763/3428795150" + }, + "14": { + "exp_lower": "2000379232573565102261303916827906717827/2000000000000000000000000000000000000000", + "exp_upper": "5000948081433912755653259792069767049779/5000000000000000000000000000000000000000", + "log_lower": "3715312711182091825485686633361/1000000000000000000000000000000", + "log_upper": "1857656355591045912742843316681/500000000000000000000000000000", + "weight": "1222116/1714397575" + }, + "15": { + "exp_lower": "80014887584760392596283449051250475889/80000000000000000000000000000000000000", + "exp_upper": "4883721166062035680925503482131987303/4882812500000000000000000000000000000", + "log_lower": "3646319839695140374012266928113/1000000000000000000000000000000", + "log_upper": "1823159919847570187006133464057/500000000000000000000000000000", + "weight": "437037/685759030" + }, + "16": { + "exp_lower": "2500457001746824468472043338830729543989/2500000000000000000000000000000000000000", + "exp_upper": "10001828006987297873888173355322918686373/10000000000000000000000000000000000000000", + "log_lower": "3581781318557569202339343012429/1000000000000000000000000000000", + "log_upper": "358178131855756920233934301243/100000000000000000000000000000", + "weight": "65416/155854325" + }, + "17": { + "exp_lower": "5000898531835896226815436415768443842763/5000000000000000000000000000000000000000", + "exp_upper": "500089853183589622681543641576844409797/500000000000000000000000000000000000000", + "log_lower": "3521156696741134359758736880389/1000000000000000000000000000000", + "log_upper": "352115669674113435975873688039/100000000000000000000000000000", + "weight": "1423053/685759030" + }, + "18": { + "exp_lower": "10001767889625591115934073106937856632037/10000000000000000000000000000000000000000", + "exp_upper": "10001767889625591115934073106937857142449/10000000000000000000000000000000000000000", + "log_lower": "3463998282901185747800548902959/1000000000000000000000000000000", + "log_upper": "43299978536264821847506861287/12500000000000000000000000000", + "weight": "73188/342879515" + }, + "19": { + "exp_lower": "10001740293423583533901264128804098082667/10000000000000000000000000000000000000000", + "exp_upper": "10001740293423583533901264128804098593077/10000000000000000000000000000000000000000", + "log_lower": "1704965530815454989999622033187/500000000000000000000000000000", + "log_upper": "27279448493047279839993952531/8000000000000000000000000000", + "weight": "24073/311708650" + }, + "2": { + "exp_lower": "10002889429351305636019653150309302953393/10000000000000000000000000000000000000000", + "exp_upper": "2500722357337826409004913287577325866061/2500000000000000000000000000000000000000", + "log_lower": "1415305715059351282647759844201/250000000000000000000000000000", + "log_upper": "1132244572047481026118207875361/200000000000000000000000000000", + "weight": "3622866/1714397575" + }, + "20": { + "exp_lower": "312553566034976063165496853081160074831/312500000000000000000000000000000000000", + "exp_upper": "2000342822623846804259179859719424581/2000000000000000000000000000000000000", + "log_lower": "83965944181083986164326198053/25000000000000000000000000000", + "log_upper": "3358637767243359446573047922121/1000000000000000000000000000000", + "weight": "26402/342879515" + }, + "21": { + "exp_lower": "2500422302621559624579253655476377600133/2500000000000000000000000000000000000000", + "exp_upper": "5000844605243119249158507310952755455469/5000000000000000000000000000000000000000", + "log_lower": "413730950384240930438459189737/125000000000000000000000000000", + "log_upper": "3309847603073927443507673517897/1000000000000000000000000000000", + "weight": "12978/2981561" + }, + "22": { + "exp_lower": "2500416366650248995829722405840081230591/2500000000000000000000000000000000000000", + "exp_upper": "10001665466600995983318889623360325432769/10000000000000000000000000000000000000000", + "log_lower": "3263327587439034586529095798839/1000000000000000000000000000000", + "log_upper": "81583189685975864663227394971/25000000000000000000000000000", + "weight": "77/2833715" + }, + "23": { + "exp_lower": "2500410694601965254792573914274872537973/2500000000000000000000000000000000000000", + "exp_upper": "2000328555681572203834059131419898132459/2000000000000000000000000000000000000000", + "log_lower": "804718956217050187300379666613/250000000000000000000000000000", + "log_upper": "3218875824868200749201518666453/1000000000000000000000000000000", + "weight": "11447/542102" + }, + "25": { + "exp_lower": "10001600220548114404645707602572389258573/10000000000000000000000000000000000000000", + "exp_upper": "10001600220548114404645707602572389768973/10000000000000000000000000000000000000000", + "log_lower": "313549421592914969080675283181/100000000000000000000000000000", + "log_upper": "3135494215929149690806752831811/1000000000000000000000000000000", + "weight": "11641/566743" + }, + "3": { + "exp_lower": "10002682456417729184276588504835870946771/10000000000000000000000000000000000000000", + "exp_upper": "5001341228208864592138294252417935728711/5000000000000000000000000000000000000000", + "log_lower": "262787887606462037430651313067/50000000000000000000000000000", + "log_upper": "5255757752129240748613026261341/1000000000000000000000000000000", + "weight": "5956407/3428795150" + }, + "4": { + "exp_lower": "10002535609381543034238987146257411071669/10000000000000000000000000000000000000000", + "exp_upper": "2000507121876308606847797429251482316447/2000000000000000000000000000000000000000", + "log_lower": "2484037839838729910586903627673/500000000000000000000000000000", + "log_upper": "4968075679677459821173807255347/1000000000000000000000000000000", + "weight": "95648/74539025" + }, + "481": { + "exp_lower": "10000091093215478885322140431537484956017/10000000000000000000000000000000000000000", + "exp_upper": "10000091093215478885322140431537485466339/10000000000000000000000000000000000000000", + "log_lower": "35700554138317851917337677133/200000000000000000000000000000", + "log_upper": "89251385345794629793344192833/500000000000000000000000000000", + "weight": "13468/271051" + }, + "5": { + "exp_lower": "10002421707455794758806902349921645317387/10000000000000000000000000000000000000000", + "exp_upper": "5001210853727897379403451174960822913953/5000000000000000000000000000000000000000", + "log_lower": "1186233032090812516351878041259/250000000000000000000000000000", + "log_upper": "4744932128363250065407512165037/1000000000000000000000000000000", + "weight": "171439/137151806" + }, + "525": { + "exp_lower": "10000046424451868766467449616668560743529/10000000000000000000000000000000000000000", + "exp_upper": "10000046424451868766467449616668561253849/10000000000000000000000000000000000000000", + "log_lower": "22742944551431673576538712861/250000000000000000000000000000", + "log_upper": "18194355641145338861230970289/200000000000000000000000000000", + "weight": "244461/566743" + }, + "529": { + "exp_lower": "10000042551050640056717053215833107892989/10000000000000000000000000000000000000000", + "exp_upper": "2500010637762660014179263303958277100827/2500000000000000000000000000000000000000", + "log_lower": "41690804469525529197382917321/500000000000000000000000000000", + "log_upper": "83381608939051058394765834643/1000000000000000000000000000000", + "weight": "116748/271051" + }, + "6": { + "exp_lower": "5001164321884483470566959992315705168419/5000000000000000000000000000000000000000", + "exp_upper": "10002328643768966941133919984631410847329/10000000000000000000000000000000000000000", + "log_lower": "4562610571569295439195794139881/1000000000000000000000000000000", + "log_upper": "2281305285784647719597897069941/500000000000000000000000000000", + "weight": "97752/68575903" + }, + "7": { + "exp_lower": "10002249960218428833500870239874329437677/10000000000000000000000000000000000000000", + "exp_upper": "200044999204368576670017404797486598963/200000000000000000000000000000000000000", + "log_lower": "4408459891742037134902918754819/1000000000000000000000000000000", + "log_upper": "220422994587101856745145937741/50000000000000000000000000000", + "weight": "8995/5963122" + }, + "8": { + "exp_lower": "4000872720770808536918724056383927967/4000000000000000000000000000000000000", + "exp_upper": "10002181801927021342296810140959820427959/10000000000000000000000000000000000000000", + "log_lower": "66795757798711164246196486467/15625000000000000000000000000", + "log_upper": "4274928499117514511756575133889/1000000000000000000000000000000", + "weight": "2308672/1714397575" + }, + "9": { + "exp_lower": "2500530420609695369985607115381001329959/2500000000000000000000000000000000000000", + "exp_upper": "5001060841219390739971214230762002915143/5000000000000000000000000000000000000000", + "log_lower": "4157145463461131057217781024417/1000000000000000000000000000000", + "log_upper": "2078572731730565528608890512209/500000000000000000000000000000", + "weight": "4279437/3428795150" + } + }, + "upper": "2142996968750000000920887913265753353254538048853/2142996968750000000000000000000000000000000000000" + }, + "source_sha256": { + "references/frame-compiler/pr48/research/copied-fixed/balanced_assembly.py": "4d27575dcad2b45a281a34054d311409ecd954f373c0c3a62c29bcc843f06a86", + "research/reordered-rank-pair/arithmetic/audit.py": "aa297fffcdaa133f5dee17d97fac72aa5ba2cf943da5a8a5e3f4d62f6f0a7f79", + "research/reordered-rank-pair/arithmetic/refine.py": "e0488c919e76850313ff93d7da704a7fcc14a316eee2cac81e2b8dff9c145b5d", + "scripts/experiments/binary_frame_math.py": "1f96e8aafc8ae89f8eeec5d03800131d93d58e01bf8a7fca8feb03702d1740d0" + }, + "status": "Exact finite conditional screen; physical linkage checked by parent verifier" +} diff --git a/references/frame-compiler/pr65/research/reordered-rank-pair/arithmetic/refine.py b/references/frame-compiler/pr65/research/reordered-rank-pair/arithmetic/refine.py new file mode 100644 index 0000000000..399299089e --- /dev/null +++ b/references/frame-compiler/pr65/research/reordered-rank-pair/arithmetic/refine.py @@ -0,0 +1,162 @@ +#!/usr/bin/env python3 +"""Exact arithmetic screen of the reordered rank-pair complete physical profile. + +Uses PR63's paid profile, inherited PR48 logarithm enclosures and balanced +assembly (PR34 and successors). New directed Taylor bounds are documented in +this file. Prepared with OpenAI assistance. Inherited licenses apply. +Physical linkage is checked by the parent verifier; no full theorem or practical speedup claim is implied. +""" +import sys +sys.dont_write_bytecode = True +if sys.flags.optimize: + raise ValueError('Assertions must remain enabled') +import argparse +from fractions import Fraction as Q +from hashlib import sha256 +import importlib.util +import json +from math import factorial +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[3] +sys.path.insert(0, str(ROOT/'scripts/experiments')) +import binary_frame_math as arithmetic +spec = importlib.util.spec_from_file_location('inherited_assembly', ROOT/'references/frame-compiler/pr48/research/copied-fixed/balanced_assembly.py') +balanced = importlib.util.module_from_spec(spec) +spec.loader.exec_module(balanced) + + +def floor_scaled(x, denominator): + return (x * denominator).numerator // (x * denominator).denominator + + +def ceiling_scaled(x, denominator): + return -floor_scaled(-x, denominator) + + +def exact_moment(m, width, rows, saving, degree=8, rounding=10**40): + """Bound sum n*t/(mW)*exp(saving*log(m/t)) entirely in Q. + + At 0 <= u <= v < 1, S_d(u) is a lower bound for exp(u). + The tail at v has first term v^(d+1)/(d+1)!; successive ratios + are at most v/(d+2). Thus S_d(v)+first/(1-v/(d+2)) is upper. + Directed rounding per exp bound preserves both inequalities. + The inherited logarithm helper encloses log(m/t) rationally. + """ + assert type(saving) is Q and 0 < saving < 1 and degree >= 1 + lo, hi = Q(), Q() + terms = {} + for t, count in sorted(rows.items()): + assert type(t) is int and type(count) is int and 0 < t < m and count > 0 + loglo, loghi = arithmetic.logs(Q(m, t)) + u, v = saving*loglo, saving*loghi + assert 0 <= u <= v < 1 + lower = sum((u**j / factorial(j) for j in range(degree+1)), Q()) + upper = sum((v**j / factorial(j) for j in range(degree+1)), Q()) + upper += v**(degree+1)/factorial(degree+1)/(1-v/Q(degree+2)) + lower = Q(floor_scaled(lower, rounding), rounding) + upper = Q(ceiling_scaled(upper, rounding), rounding) + weight = Q(t*count, m*width) + lo += weight*lower + hi += weight*upper + terms[t] = dict(weight=weight, log_lower=loglo, log_upper=loghi, + exp_lower=lower, exp_upper=upper) + return dict(saving=saving, lower=lo, upper=hi, strict_gap=1-hi, + degree=degree, rounding_denominator=rounding, terms=terms) + + +def assemble(bridge, saving, h, denominator): + preliminary = balanced.assembly(bridge, saving, Q(1, denominator), h=h) + kappa = Q(ceiling_scaled(preliminary['minimum_margin'], denominator)-1, denominator) + accepted = balanced.assembly(bridge, saving, kappa, h=h) + assert len(accepted['constraints']) == 47 and len(accepted['margins']) == 7 + assert all(v > 0 for v in accepted['constraints'].values()) + assert all(v > kappa for v in accepted['margins'].values()) + try: + balanced.assembly(bridge, saving, kappa+Q(1, denominator), h=h) + except balanced.InvalidAssembly as error: + rejected = str(error) + else: + raise AssertionError('Next kappa grid unexpectedly passes') + return dict(kappa=kappa, assembly=accepted, + next_kappa=kappa+Q(1, denominator), next_kappa_rejection=rejected, + eventual_bounds=balanced.cutoffs(bridge, accepted)) + + +def build_certificate(profile_path, denominator=10**18, h=Q(1, 10**12)): + profile_path = profile_path.resolve() + source = json.loads(profile_path.read_text()) + profile = source['bit'] + bridge = source['finite_bridge'] + m, width = profile['m'], profile['W'] + rows = {int(t): n for t, n in profile['child_multiplicities'].items()} + assert sum(t*n for t, n in rows.items()) == profile['total_rank'] + assert bridge['bit']['W'] == width + low, high = 1, floor_scaled(Q(717, 10**7), denominator) + assert exact_moment(m, width, rows, Q(low, denominator))['upper'] < 1 + assert exact_moment(m, width, rows, Q(high, denominator))['lower'] > 1 + steps = 0 + while low+1 < high: + mid = (low+high)//2 + test = exact_moment(m, width, rows, Q(mid, denominator)) + if test['upper'] < 1: + low = mid + elif test['lower'] > 1: + high = mid + else: + raise ArithmeticError('Rational bounds inconclusive: increase enclosure precision') + steps += 1 + saving = Q(low, denominator) + accepted = exact_moment(m, width, rows, saving) + rejected = exact_moment(m, width, rows, Q(high, denominator)) + assert accepted['upper'] < 1 < rejected['lower'] + preferred = assemble(bridge, saving, h, denominator) + coarse_denom = 10**11 + coarse_bit = Q(floor_scaled(saving, coarse_denom), coarse_denom) + assert exact_moment(m, width, rows, coarse_bit)['upper'] < 1 + coarse = assemble(bridge, coarse_bit, h, coarse_denom) + inherited_coarse = arithmetic.moment(m, width, rows, coarse_bit) + inherited_next = arithmetic.moment(m, width, rows, coarse_bit+Q(1, coarse_denom)) + assert inherited_coarse['upper'] < 1 < inherited_next['lower'] + coarse['original_enclosure_control'] = dict(accepted_upper=inherited_coarse['upper'], + next_bit_lower=inherited_next['lower']) + # Same coarse grid/backoff as PR63 separates the structural gain from + # the additional precision refinement suggested by the PR61 precedent. + prior = Q(source['kappa']) + paths = (Path(__file__), Path(__file__).with_name('audit.py'), + ROOT/'scripts/experiments/binary_frame_math.py', Path(balanced.__file__)) + return dict(status='Exact finite conditional screen; physical linkage checked by parent verifier', + profile_path=str(profile_path.relative_to(ROOT)), + profile_sha256=sha256(profile_path.read_bytes()).hexdigest(), + source_sha256={str(path.relative_to(ROOT)):sha256(path.read_bytes()).hexdigest() for path in paths}, + grid_denominator=denominator, binary_search_steps=steps, bit_saving=saving, + next_bit_saving=Q(high, denominator), accepted_moment=accepted, rejected_moment=rejected, + preferred=preferred, coarse_grid_control=dict(bit_saving=coarse_bit, **coarse), + comparison=dict(pr63_kappa=prior, kappa=preferred['kappa'], + difference=preferred['kappa']-prior, + structural_gain_on_original_grid=coarse['kappa']-prior, + additional_precision_gain=preferred['kappa']-coarse['kappa']), + proof_limits=['The complete physical profile is supplied; independent word and CRT replay are parent-verifier responsibilities.', + 'The rational logarithm and exponential enclosure derivations are documented in README.md, not formally mechanized.', + 'All-size compiler, routing, recovery, prime-selection and fixed-tape transfer remain inherited.', + 'Neither global optimality nor measured practical speedup is claimed.']) + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('--profile', type=Path, default=Path(__file__).resolve().parent.parent/'paired-candidate.json') + parser.add_argument('--certificate', type=Path, default=Path(__file__).with_name('certificate.json')) + parser.add_argument('--record', action='store_true', help='Regenerate certificate instead of comparing with recorded result') + args = parser.parse_args() + result = arithmetic.js(build_certificate(args.profile)) + if args.record: + args.certificate.write_text(json.dumps(result, indent=2, sort_keys=True)+'\n') + else: + assert result == json.loads(args.certificate.read_text()), 'Arithmetic certificate changed' + print(json.dumps(dict(status='PASS exact arithmetic', bit_saving=result['bit_saving'], + kappa=result['preferred']['kappa'], constraints=47, margins=7, + next_grid_controls='PASS', comparison=result['comparison']), indent=2)) + + +if __name__ == '__main__': + main() diff --git a/references/frame-compiler/pr65/research/reordered-rank-pair/arithmetic/test_arithmetic.py b/references/frame-compiler/pr65/research/reordered-rank-pair/arithmetic/test_arithmetic.py new file mode 100644 index 0000000000..e23cba24ec --- /dev/null +++ b/references/frame-compiler/pr65/research/reordered-rank-pair/arithmetic/test_arithmetic.py @@ -0,0 +1,68 @@ +"""Meaningful certificate verification and deliberate-failure controls.""" +import sys +sys.dont_write_bytecode = True +from copy import deepcopy +from fractions import Fraction as Q +import json +from pathlib import Path +import subprocess +import unittest + +HERE = Path(__file__).resolve().parent +sys.path.insert(0, str(HERE)) +import refine +import audit + + +class ExactArithmeticTests(unittest.TestCase): + @classmethod + def setUpClass(cls): + cls.certificate = json.loads((HERE/'certificate.json').read_text()) + cls.profile = json.loads((refine.ROOT/cls.certificate['profile_path']).read_text())['bit'] + + def test_complete_reproduction(self): + actual = refine.arithmetic.js(refine.build_certificate(refine.ROOT/self.certificate['profile_path'])) + self.assertEqual(actual, self.certificate) + + def test_independent_enclosures_and_controls(self): + actual = refine.arithmetic.js(audit.audit(self.certificate)) + self.assertEqual(actual, json.loads((HERE/'audit-receipt.json').read_text())) + self.assertEqual(len(actual['controls']), 10) + + def test_next_bit_grid_is_rejected(self): + p = self.profile + result = refine.exact_moment(p['m'], p['W'], {int(t):n for t,n in p['child_multiplicities'].items()}, Q(self.certificate['next_bit_saving'])) + self.assertGreater(result['lower'], 1) + + def test_forged_accepted_bit_is_rejected(self): + forged = deepcopy(self.certificate) + forged['bit_saving'] = forged['next_bit_saving'] + with self.assertRaises(AssertionError): + audit.audit(forged) + + def test_forged_source_digest_is_rejected(self): + forged = deepcopy(self.certificate) + forged['profile_sha256'] = '0'*64 + with self.assertRaises(AssertionError): + audit.audit(forged) + + def test_omitted_constraint_is_rejected(self): + forged = deepcopy(self.certificate) + del forged['preferred']['assembly']['constraints']['K_geometry'] + with self.assertRaises(AssertionError): + audit.audit(forged) + + def test_float_saving_refused(self): + with self.assertRaises(AssertionError): + refine.exact_moment(2, 1, {1:1}, 0.01) + + def test_python_optimization_is_rejected(self): + for script in ('refine.py', 'audit.py'): + result = subprocess.run([sys.executable, '-B', '-O', str(HERE/script)], + cwd=refine.ROOT, capture_output=True, text=True) + self.assertNotEqual(result.returncode, 0) + self.assertIn('Assertions must remain enabled', result.stderr) + + +if __name__ == '__main__': + unittest.main() diff --git a/references/frame-compiler/pr65/research/reordered-rank-pair/current-comparison.json b/references/frame-compiler/pr65/research/reordered-rank-pair/current-comparison.json new file mode 100644 index 0000000000..1d539de130 --- /dev/null +++ b/references/frame-compiler/pr65/research/reordered-rank-pair/current-comparison.json @@ -0,0 +1,9 @@ +{ + "source_url": "https://github.com/CrocSwap/integer-mult-bounds/pull/64", + "head": "790a14e28e935398072b9a9a68694ce7fba8940f", + "source": "PR body reported bound, checked 2026-10-08; not an independent audit of PR64", + "kappa": "2041159402879/40000000000000000", + "pr64_kappa": "20411033624901463/400000000000000000000", + "difference": "560403888537/400000000000000000000", + "relative_gain": "560403888537/20411033624901463" +} diff --git a/references/frame-compiler/pr65/research/reordered-rank-pair/frame-compiler.json b/references/frame-compiler/pr65/research/reordered-rank-pair/frame-compiler.json new file mode 100644 index 0000000000..42958fc74b --- /dev/null +++ b/references/frame-compiler/pr65/research/reordered-rank-pair/frame-compiler.json @@ -0,0 +1,195 @@ +{ + "artifact_sha256": { + "frame-profiles-23.json": "fec377bcf1512a427674983256b900229d4133026445b6e680c6e1e6dde5af7d", + "frame-profiles-25.json": "28b4b911e26fbc02dde0d2e1458ed16227f756126ab8144d6d45e164d1165262", + "frame-transitions-23.json": "86646f1110595294cccc15603c552f0a153574a690b69c3b144d84a449891103", + "frame-transitions-25.json": "c333c348665d12b95e168ca4fac48bfdca335104edd0f29c81fe94bec292e774", + "frame-word-23.json.gz": "a44e038e1c548ea8ac31dd04acc2bba7951b22e17df7b7ad3464ea2b504a8da4", + "frame-word-25.json.gz": "ad8b299697f90b185b6b791313b505586be97965519052100d097df6199e00c5", + "paired-candidate.json": "34a500d739537235dfc5d24325c22856ca4567b9eac998a3bce9b13db5501940" + }, + "axes": { + "23": { + "compiled": { + "all_physical_frame_inclusions": true, + "baseline_pr48_roles": 36432, + "complete_dirty_basis_both_orientations": true, + "dirty_basis_vectors": 31460, + "elementary_xors": 149137, + "h": 23, + "histogram": { + "0": 302057, + "1": 42694, + "10": 442, + "11": 11, + "12": 467, + "13": 22, + "14": 2005, + "15": 551, + "16": 547, + "17": 365, + "18": 4220, + "19": 7820, + "2": 82722, + "21": 165, + "22": 23, + "3": 11086, + "4": 10683, + "5": 7723, + "6": 1994, + "7": 294, + "8": 1362, + "9": 525 + }, + "mode": { + "matching": true, + "reclaim": true + }, + "rank_mass": 642620, + "roles": 27918, + "stats": { + "augmentations": 220, + "clearing_xors": 1577, + "matched": 37025, + "multi_node_regions": 10350, + "reclaimed": 801, + "regions": 52473 + } + }, + "gzip_sha256": "a44e038e1c548ea8ac31dd04acc2bba7951b22e17df7b7ad3464ea2b504a8da4", + "replay": { + "elementary_xors": 149137, + "full_basis_vectors": 31460, + "h": 23, + "histogram": { + "0": 162914, + "1": 42694, + "10": 442, + "11": 11, + "12": 467, + "13": 22, + "14": 2005, + "15": 551, + "16": 547, + "17": 365, + "18": 4220, + "19": 7820, + "2": 82722, + "21": 165, + "22": 23, + "3": 11086, + "4": 10683, + "5": 7723, + "6": 1994, + "7": 294, + "8": 1362, + "9": 525 + }, + "output_roles": 5336, + "rank_mass": 642620, + "roles": 27918, + "status": "independent serialized word, exact frames, full input and dirty basis both orientations PASS", + "word_length": 621342 + }, + "schedule": "cover-core", + "word_sha256": "09c20f4e46207b7c91092cefb2b851c88694b6c12d3bf5091333cd8a78a197a4" + }, + "25": { + "compiled": { + "all_physical_frame_inclusions": true, + "baseline_pr48_roles": 48329, + "complete_dirty_basis_both_orientations": true, + "dirty_basis_vectors": 41186, + "elementary_xors": 205977, + "h": 25, + "histogram": { + "0": 416741, + "1": 55478, + "10": 529, + "12": 599, + "13": 25, + "14": 530, + "16": 3130, + "17": 869, + "18": 519, + "19": 395, + "2": 115781, + "20": 5436, + "21": 10164, + "23": 220, + "24": 25, + "3": 14362, + "4": 16908, + "5": 10263, + "6": 1767, + "7": 541, + "8": 2115, + "9": 569 + }, + "mode": { + "matching": true, + "reclaim": true + }, + "rank_mass": 915250, + "roles": 36586, + "stats": { + "augmentations": 286, + "clearing_xors": 2154, + "matched": 53194, + "multi_node_regions": 13975, + "reclaimed": 1090, + "regions": 73695 + } + }, + "gzip_sha256": "ad8b299697f90b185b6b791313b505586be97965519052100d097df6199e00c5", + "replay": { + "elementary_xors": 205977, + "full_basis_vectors": 41186, + "h": 25, + "histogram": { + "0": 224465, + "1": 55478, + "10": 529, + "12": 599, + "13": 25, + "14": 530, + "16": 3130, + "17": 869, + "18": 519, + "19": 395, + "2": 115781, + "20": 5436, + "21": 10164, + "23": 220, + "24": 25, + "3": 14362, + "4": 16908, + "5": 10263, + "6": 1767, + "7": 541, + "8": 2115, + "9": 569 + }, + "output_roles": 6925, + "rank_mass": 915250, + "roles": 36586, + "status": "independent serialized word, exact frames, full input and dirty basis both orientations PASS", + "word_length": 856108 + }, + "schedule": "reverse-node", + "word_sha256": "a54443429f47c486016771ce0436effda098e142afc52861c20957e9ff8e086b" + } + }, + "source_sha256": { + "research/pair-assembly/frame/frame_verify.py": "fafe25d57166a747eeb847444a2e02dd7eed19038b93a2c495014d147d04a8fb", + "research/pair-assembly/pair_graph.py": "3d47e89d2649c90800a276bdd0480131def50e0bdf92c122a19494b55bf17420", + "research/reordered-rank-pair/test_negative.py": "88832242e6f74e3fe08d109d4f21ff188a9ca0ae50c3e8f31da0243fe9501510", + "research/reordered-rank-pair/verify.py": "e84ed21dad24f9b8c429441caae49c13ccae883be2f04e696993cfe665b57352", + "scripts/experiments/binary_frame_math.py": "1f96e8aafc8ae89f8eeec5d03800131d93d58e01bf8a7fca8feb03702d1740d0", + "scripts/experiments/binary_frame_profile_prepare.py": "8a50381cab00b33e62b3a057d199ba5e19647929135c95b0fd63fc8a8ef7c9b3", + "scripts/experiments/binary_frame_profiles.cpp": "8e2e391d3ee57cbb1372c68e4aa031e1b861321536eabd642ada54e12e678669", + "scripts/experiments/binary_frame_replay.py": "392e78e62d7685c99a5888a7da743ea6c3dcad631af4a743c91e0c09348442bc", + "scripts/experiments/rank_pair_compiler.py": "9984aaccf880e4840402322d76678bfddb33ce7e494af78430a43429f51b85fd" + }, + "status": "Exact topological scheduling of unchanged PR63 graph/compiler; both physical orientations and fixed profiles checked" +} diff --git a/references/frame-compiler/pr65/research/reordered-rank-pair/frame-profiles-23.json b/references/frame-compiler/pr65/research/reordered-rank-pair/frame-profiles-23.json new file mode 100644 index 0000000000..3b648dbe21 --- /dev/null +++ b/references/frame-compiler/pr65/research/reordered-rank-pair/frame-profiles-23.json @@ -0,0 +1,38 @@ +{ + "h": 23, + "v": 1771, + "R": 27918, + "loss": 506, + "rank_sum": 642620, + "field_prime": 2305843009213693951, + "frames": 52475, + "distinct_matrices": 36399, + "crt_matrices": 6049, + "crt_disagreements": 0, + "blocks": [ + 0, + 343849, + 16857, + 10540, + 5782, + 4156, + 3911, + 3635, + 2858, + 2284, + 1804, + 1716, + 1262, + 1077, + 711, + 589, + 352, + 193, + 114, + 0, + 45, + 23, + 0, + 0 + ] +} diff --git a/references/frame-compiler/pr65/research/reordered-rank-pair/frame-profiles-25.json b/references/frame-compiler/pr65/research/reordered-rank-pair/frame-profiles-25.json new file mode 100644 index 0000000000..19cc34b4ca --- /dev/null +++ b/references/frame-compiler/pr65/research/reordered-rank-pair/frame-profiles-25.json @@ -0,0 +1,40 @@ +{ + "h": 25, + "v": 2300, + "R": 36586, + "loss": 600, + "rank_sum": 915250, + "field_prime": 2305843009213693951, + "frames": 73697, + "distinct_matrices": 50394, + "crt_matrices": 8127, + "crt_disagreements": 0, + "blocks": [ + 0, + 474640, + 25158, + 12097, + 6776, + 5735, + 5500, + 4875, + 3784, + 3209, + 2695, + 2649, + 1906, + 1663, + 1344, + 1127, + 711, + 585, + 380, + 181, + 113, + 0, + 55, + 25, + 0, + 0 + ] +} diff --git a/references/frame-compiler/pr65/research/reordered-rank-pair/frame-transitions-23.json b/references/frame-compiler/pr65/research/reordered-rank-pair/frame-transitions-23.json new file mode 100644 index 0000000000..2883a5f7c9 --- /dev/null +++ b/references/frame-compiler/pr65/research/reordered-rank-pair/frame-transitions-23.json @@ -0,0 +1,35 @@ +{ + "h": 23, + "v": 1771, + "R": 27918, + "frames": 52475, + "distinct_transitions": 138016, + "singles": 15939, + "rank_mass": 642620, + "rank_histogram_with_side_growth_split_into_singletons": { + "1": 53320, + "2": 77409, + "3": 11086, + "4": 10683, + "5": 7723, + "6": 1994, + "7": 294, + "8": 1362, + "9": 525, + "10": 442, + "11": 11, + "12": 467, + "13": 22, + "14": 2005, + "15": 551, + "16": 547, + "17": 365, + "18": 4220, + "19": 7820, + "21": 165, + "22": 23 + }, + "word_sha256": "09c20f4e46207b7c91092cefb2b851c88694b6c12d3bf5091333cd8a78a197a4", + "copied_centers": 23, + "transition_events_equal_independent_xor_word_reconstruction": true +} diff --git a/references/frame-compiler/pr65/research/reordered-rank-pair/frame-transitions-25.json b/references/frame-compiler/pr65/research/reordered-rank-pair/frame-transitions-25.json new file mode 100644 index 0000000000..3b4bc33ff6 --- /dev/null +++ b/references/frame-compiler/pr65/research/reordered-rank-pair/frame-transitions-25.json @@ -0,0 +1,35 @@ +{ + "h": 25, + "v": 2300, + "R": 36586, + "frames": 73697, + "distinct_transitions": 190838, + "singles": 20700, + "rank_mass": 915250, + "rank_histogram_with_side_growth_split_into_singletons": { + "1": 69278, + "2": 108881, + "3": 14362, + "4": 16908, + "5": 10263, + "6": 1767, + "7": 541, + "8": 2115, + "9": 569, + "10": 529, + "12": 599, + "13": 25, + "14": 530, + "16": 3130, + "17": 869, + "18": 519, + "19": 395, + "20": 5436, + "21": 10164, + "23": 220, + "24": 25 + }, + "word_sha256": "a54443429f47c486016771ce0436effda098e142afc52861c20957e9ff8e086b", + "copied_centers": 25, + "transition_events_equal_independent_xor_word_reconstruction": true +} diff --git a/references/frame-compiler/pr65/research/reordered-rank-pair/frame-word-23.json.gz b/references/frame-compiler/pr65/research/reordered-rank-pair/frame-word-23.json.gz new file mode 100644 index 0000000000..3a7c7c41c1 Binary files /dev/null and b/references/frame-compiler/pr65/research/reordered-rank-pair/frame-word-23.json.gz differ diff --git a/references/frame-compiler/pr65/research/reordered-rank-pair/frame-word-25.json.gz b/references/frame-compiler/pr65/research/reordered-rank-pair/frame-word-25.json.gz new file mode 100644 index 0000000000..6a239a3e9f Binary files /dev/null and b/references/frame-compiler/pr65/research/reordered-rank-pair/frame-word-25.json.gz differ diff --git a/references/frame-compiler/pr65/research/reordered-rank-pair/paired-candidate.json b/references/frame-compiler/pr65/research/reordered-rank-pair/paired-candidate.json new file mode 100644 index 0000000000..dbfad24526 --- /dev/null +++ b/references/frame-compiler/pr65/research/reordered-rank-pair/paired-candidate.json @@ -0,0 +1,252 @@ +{ + "bit": { + "L": 2226400, + "N": 4073300, + "W": 137151806, + "axes": [ + { + "R": 27918, + "blocks": [ + 0, + 343849, + 16857, + 10540, + 5782, + 4156, + 3911, + 3635, + 2858, + 2284, + 1804, + 1716, + 1262, + 1077, + 711, + 589, + 352, + 193, + 114, + 0, + 45, + 23, + 0, + 0 + ], + "crt_disagreements": 0, + "crt_matrices": 6049, + "distinct_matrices": 36399, + "field_prime": 2305843009213693951, + "frames": 52475, + "h": 23, + "loss": 506, + "rank_sum": 642620, + "v": 1771 + }, + { + "R": 36586, + "blocks": [ + 0, + 474640, + 25158, + 12097, + 6776, + 5735, + 5500, + 4875, + 3784, + 3209, + 2695, + 2649, + 1906, + 1663, + 1344, + 1127, + 711, + 585, + 380, + 181, + 113, + 0, + 55, + 25, + 0, + 0 + ], + "crt_disagreements": 0, + "crt_matrices": 8127, + "distinct_matrices": 50394, + "field_prime": 2305843009213693951, + "frames": 73697, + "h": 25, + "loss": 600, + "rank_sum": 915250, + "v": 2300 + } + ], + "child_multiplicities": { + "1": 1725126040, + "10": 8922045, + "11": 8638179, + "12": 6278126, + "13": 5422273, + "14": 4015524, + "15": 3350617, + "16": 2068781, + "17": 9626535, + "18": 935180, + "19": 320551, + "2": 83325918, + "20": 303623, + "21": 16346100, + "22": 97405, + "23": 72402275, + "25": 64793806, + "3": 45665787, + "4": 25298896, + "481": 8146600, + "5": 19715485, + "525": 64793806, + "529": 64211400, + "6": 18735800, + "7": 16994125, + "8": 13274864, + "9": 10936339 + }, + "deficit": 1846900, + "m": 575, + "maxchild": 529, + "parts": { + "data": { + "1": 73319400, + "17": 8146600, + "21": 8146600, + "481": 8146600 + }, + "data_growth_23": { + "1": 8146600, + "21": 8146600 + }, + "data_growth_25": { + "1": 8146600, + "23": 8146600 + }, + "exterior_23": { + "23": 64211400, + "529": 64211400 + }, + "exterior_25": { + "25": 64793806, + "525": 64793806 + }, + "internal_23": { + "1": 790852700, + "10": 4149200, + "11": 3946800, + "12": 2902600, + "13": 2477100, + "14": 1635300, + "15": 1354700, + "16": 809600, + "17": 443900, + "18": 262200, + "2": 38771100, + "20": 103500, + "21": 52900, + "3": 24242000, + "4": 13298600, + "5": 9558800, + "6": 8995300, + "7": 8360500, + "8": 6573400, + "9": 5253200 + }, + "internal_25": { + "1": 840587440, + "10": 4772845, + "11": 4691379, + "12": 3375526, + "13": 2945173, + "14": 2380224, + "15": 1995917, + "16": 1259181, + "17": 1036035, + "18": 672980, + "19": 320551, + "2": 44554818, + "20": 200123, + "22": 97405, + "23": 44275, + "3": 21423787, + "4": 12000296, + "5": 10156685, + "6": 9740500, + "7": 8633625, + "8": 6701464, + "9": 5683139 + }, + "paid_endpoint_copy": { + "1": 4073300 + } + }, + "total_rank": 78860441550 + }, + "bit_saving": "2551509/50000000000", + "finite_bridge": { + "bit": { + "W": 137151806, + "halving_degree": 9, + "m": 575, + "maxchild": 529, + "wire_bits": 28 + }, + "complex": { + "W": 537696432, + "halving_degree": 20, + "m": 784, + "maxchild": 756, + "s": 421548223824, + "scalar_group_upper": 4793351472, + "scalar_terms": [ + { + "c": 78437, + "copied_center_extra_groups": 56, + "h": 28, + "invocations": 3276, + "local_group_upper": 729892, + "v": 3276 + }, + { + "c": 78437, + "copied_center_extra_groups": 56, + "h": 28, + "invocations": 3276, + "local_group_upper": 729892, + "v": 3276 + } + ], + "wire_bits": 30 + }, + "rows": { + "coefficient": 852, + "contract": "W_complex^D_complex * W_bit^D_bit; one preceding prefix and padding; all temporary copies sequential", + "degree": 2000, + "degree_gap": "6548/25", + "suffix_slope": 8000 + }, + "semantic": { + "B": 9696565176891520488614054257040, + "C0": 2358858462850846165593256368932965330169899180021667007021321420800, + "C1": 1, + "E": 9696565176891520488192506033216, + "induction_gap": 533311084729033626873772984137200, + "literal_charge": 2771683137698171397039558468, + "strict_literal_gap": 9693793493753822316795466474748 + } + }, + "kappa": "5102757/100000000000", + "source": { + "axis23": "research/reordered-rank-pair/frame-profiles-23.json", + "axis25": "research/reordered-rank-pair/frame-profiles-25.json", + "profile_constructor": "research/pair-assembly/frame/frame_verify.py" + } +} diff --git a/references/frame-compiler/pr65/research/reordered-rank-pair/test_negative.py b/references/frame-compiler/pr65/research/reordered-rank-pair/test_negative.py new file mode 100644 index 0000000000..a219a87719 --- /dev/null +++ b/references/frame-compiler/pr65/research/reordered-rank-pair/test_negative.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python3 +"""Adversarial controls for the reordered serialized words and scheduling.""" +import sys +sys.dont_write_bytecode=True +import gzip,json,tempfile,subprocess +from pathlib import Path +import verify + +def rejected(label,call): + try:call() + except (AssertionError,IndexError,ValueError): + print('PASS rejected '+label,flush=True) + else:raise AssertionError('Invalid control accepted: '+label) + +def main(): + optimized=subprocess.run([sys.executable,'-B','-O',str(verify.HERE/'verify.py')],capture_output=True,text=True) + assert optimized.returncode!=0 and 'Assertions must remain enabled' in optimized.stderr + print('PASS rejected optimized Python invocation',flush=True) + work=verify.ROOT/'build/reordered-rank-pair';work.mkdir(parents=True,exist_ok=True) + original=json.loads(gzip.decompress((verify.HERE/'frame-word-23.json.gz').read_bytes())) + with tempfile.TemporaryDirectory(prefix='negative-',dir=work) as temporary: + path=Path(temporary)/'mutated.json' + bad=dict(original);bad['ops']=original['ops'][1:] + path.write_text(json.dumps(bad,separators=(',',':'))) + rejected('omitted physical XOR',lambda:verify.replay(path)) + bad=dict(original);bad['R']=original['R']-1 + path.write_text(json.dumps(bad,separators=(',',':'))) + rejected('understated physical role count',lambda:verify.replay(path)) + records=json.loads((verify.HERE/'frame-compiler.json').read_text()) + for name in ('frame-word-23.json.gz','frame-profiles-23.json'): + path.write_bytes((verify.HERE/name).read_bytes()+b' ') + rejected('changed digest '+name,lambda name=name:require_digest(path,records['artifact_sha256'][name])) + # Two equal-rank regions with an actual dependency must not be reversed. + blocks=[{'rank':1,'nodes':[1],'inputs':[],'candidates':[]}, + {'rank':1,'nodes':[2],'inputs':[1],'candidates':[]}] + invalid=lambda h:(None,blocks,[],{}, {1:0,2:1},{},[0,1],None) + rejected('backward region dependency',lambda:verify.reordered_build(invalid,'reverse-node')(23)) + print('PASS all six reordered-word negative controls',flush=True) + +def require_digest(path,expected):assert verify.sha(path)==expected + +if __name__=='__main__':main() diff --git a/references/frame-compiler/pr65/research/reordered-rank-pair/verify.py b/references/frame-compiler/pr65/research/reordered-rank-pair/verify.py new file mode 100644 index 0000000000..5ac300ecd0 --- /dev/null +++ b/references/frame-compiler/pr65/research/reordered-rank-pair/verify.py @@ -0,0 +1,102 @@ +#!/usr/bin/env python3 +"""Replay, profile, or deterministically rebuild a reordered PR63 circuit. + +PR62 graph: Avi Eisenberg, assisted by Claude; PR60 compiler: Chafik +Boukhalfa, derived from eumemic PR57, with OpenAI Codex assistance. +Region scheduling experiment: Rohan Arun with OpenAI Codex assistance. +Apache-2.0; inherited notices and mathematical dependencies remain applicable. +""" +import sys +sys.dont_write_bytecode = True +if sys.flags.optimize: + raise ValueError('Assertions must remain enabled') +import argparse, gzip, importlib.util, json, os, shlex, subprocess, tempfile +from hashlib import sha256 +from pathlib import Path + +HERE=Path(__file__).resolve().parent +ROOT=HERE.parents[1] +EXP=ROOT/'scripts/experiments' +sys.path[:0]=[str(EXP),str(ROOT/'scripts')] +from binary_frame_replay import replay +from binary_frame_profile_prepare import prepare +import binary_frame_math as arithmetic + +def load(path,name): + spec=importlib.util.spec_from_file_location(name,path) + module=importlib.util.module_from_spec(spec);spec.loader.exec_module(module) + return module + +def sha(path):return sha256(path.read_bytes()).hexdigest() + +def reordered_build(original,mode): + def build(h): + parts=list(original(h)) + c,blocks,uses,value_uses,owner,signal,order,contains=parts + if mode=='reverse-node': + key=lambda g:(blocks[g]['rank'],-min(blocks[g]['nodes'])) + elif mode=='cover-core': + key=lambda g:(blocks[g]['rank'],blocks[g]['frame'][1],blocks[g]['frame'][0]) + else:raise ValueError(mode) + parts[6]=sorted(range(len(blocks)),key=key) + position={g:i for i,g in enumerate(parts[6])} + for g,b in enumerate(blocks): + for x in b['inputs']: + assert position[owner[x]]=4 + self.n=n + self.inputs=list(combinations(range(n),2)) + self.support=[0]+[1<= 3 and all(exponent % d for d in range(2, isqrt(exponent)+1)), + 'Composite Lucas-Lehmer exponent') + p = 2**exponent - 1 + s = 4 + for _ in range(exponent - 2): + s = (s*s-2) % p + require(s == 0, 'Lucas-Lehmer failed') + return p + + +def exactness(h): + require(h in (23, 25), 'Uncertified dimension') + primes = [mersenne(e) for e in (61, 31, 19)] + Z = 3*h-7 + B0 = (4*h-2)*Z + 27*(h+1) + D = 3*(h+1)*(h-1)**2 + B = 2*(h-1)*B0 + bounds = {r: sum(comb(h,j)*factorial(j)*B**j*D**(r-j) + for j in range(r+1)) for r in (2,3,4)} + require(bounds[2] < primes[0], 'Rank-two minor modulus insufficient') + require(max(bounds[3],bounds[4]) < prod(primes), 'CRT minor modulus insufficient') + require(3*(h+1)*(h-1) < min(primes), 'Denominator may vanish') + return dict(h=h, primes=primes, prime_product=prod(primes), + single_numerator_bound=B0, common_denominator_bound=D, + correction_numerator_bound=B, minor_bounds=bounds, + modulus_gaps={2: primes[0]-bounds[2], + 3: prod(primes)-bounds[3],4: prod(primes)-bounds[4]}) + + +@lru_cache(None) +def logs(x): + x = Q(x) + require(x >= 1, 'Log domain') + k = 0 + while x > 2: + x /= 2 + k += 1 + def small(y): + z = (y-1)/(y+1) + lo = 2*sum((z**(2*j+1)/Q(2*j+1) for j in range(32)), Q()) + return lo, lo+2*z**65/(65*(1-z*z)) + lo,hi = small(x) + lo2,hi2 = small(Q(2)) + lo,hi = lo+k*lo2,hi+k*hi2 + scale = 10**30 + return Q((lo*scale).numerator//(lo*scale).denominator,scale), \ + Q(-(-(hi*scale).numerator//(hi*scale).denominator),scale) + + +def moment(m,W,rows,saving): + require(type(saving) is Q and 0 < saving < 1, 'Exact positive saving required') + lower,upper = Q(),Q() + enclosure = {} + for t,n in sorted(rows.items()): + require(type(t) is int and type(n) is int and 00, 'Invalid child') + lo,hi = logs(Q(m,t)) + u,v = saving*lo,saving*hi + require(0 <= u <= v < 1, 'Exponential enclosure domain') + weight = Q(t*n,m*W) + lower += weight*(1+u+u*u/2+u*u*u/6) + upper += weight*(1+v+v*v/(2*(1-v/3))) + enclosure[t] = dict(lower=lo,upper=hi) + return dict(saving=saving,exponent=1-saving,lower=lower,upper=upper, + strict_gap=1-upper,logarithms=enclosure) + diff --git a/references/frame-compiler/pr65/scripts/experiments/binary_frame_profile_prepare.py b/references/frame-compiler/pr65/scripts/experiments/binary_frame_profile_prepare.py new file mode 100644 index 0000000000..85ad7b77bd --- /dev/null +++ b/references/frame-compiler/pr65/scripts/experiments/binary_frame_profile_prepare.py @@ -0,0 +1,88 @@ +"""Extract positive-rank transitions from independently replayed block words.""" +from collections import Counter +from hashlib import sha256 +from itertools import combinations +from pathlib import Path +import json,struct,sys,gzip,argparse + + +def prepare(path,destination): + raw=Path(path).read_bytes();raw=gzip.decompress(raw) if str(path).endswith('.gz') else raw;d=json.loads(raw) + h,v,R=d['h'],d['v'],d['R'] + frames=[(0,0,0),(0,0,h)]+[(c,u,1 if c==u else u.bit_count()-c.bit_count()) for c,u in d['frames']] + physical=[None]*R;transitions=Counter() + for s,a,b in d['events']: + assert 0<=s0 + histogram[r]+=count + with Path(destination).open('wb') as f: + f.write(struct.pack('<6I2Q',h,v,R,len(frames),len(transitions),singles,mass,h*(h-1))) + for c,u,r in frames:f.write(struct.pack('<2QI',c,u,r)) + for (a,b),count in sorted(transitions.items()):f.write(struct.pack('<2Iq',a,b,count)) + receipt=dict(h=h,v=v,R=R,frames=len(frames),distinct_transitions=len(transitions),singles=singles,rank_mass=mass, + rank_histogram_with_side_growth_split_into_singletons=dict(sorted(histogram.items())),word_sha256=sha256(raw).hexdigest(),copied_centers=centers, + transition_events_equal_independent_xor_word_reconstruction=True) + Path(str(destination)+'.json').write_text(json.dumps(receipt,indent=2)+'\n') + return receipt + + +if __name__=='__main__': + parser=argparse.ArgumentParser(description=__doc__) + parser.add_argument('word',type=Path);parser.add_argument('destination',type=Path) + args=parser.parse_args();print(json.dumps(prepare(args.word,args.destination),indent=2)) diff --git a/references/frame-compiler/pr65/scripts/experiments/binary_frame_profiles.cpp b/references/frame-compiler/pr65/scripts/experiments/binary_frame_profiles.cpp new file mode 100644 index 0000000000..1b52bd057d --- /dev/null +++ b/references/frame-compiler/pr65/scripts/experiments/binary_frame_profiles.cpp @@ -0,0 +1,85 @@ +// Optimal-matching variant of research/copied-fixed/profiles.cpp (PR #43, Chafik +// Boukhalfa), itself adapted from Dominik Scholz PR35 and icekylinx PR32. +// Change: with LINKS_IN=, the carrier matching is read from a pinned file +// instead of Hopcroft-Karp. Every pinned edge must lie in the same admissible +// adjacency (causal order and frame inclusion); donors and uses are distinct. +// This replay-only adaptation omits the discovery edge dumper. The original +// optimizer and profiler are preserved in references/copied-fixed/pr44. +// Replay-only adaptation prepared with OpenAI Codex assistance. +// Prepared by Rohan Arun with Anthropic Claude assistance. Apache-2.0. +// Adapted at h=23,25; original PR35 by Dominik Scholz, PR32 by icekylinx. +// Dimension adaptation at 45/47; extra primes for all source-growth cases. +// Exact bounded-minor inequalities are checked by verify.py. Original credit below. +// Copyright 2026 icekylinx. Apache-2.0; AI-assisted handoff integration. +// Original round3_rankone_profiles.cpp. Requires GCC/Clang unsigned __int128. + +// Adapted input reader for complete serialized frame-compiler transitions. +// Actual-word fixed-I+J profiling, adapted from PR48 profiles.cpp. +// All projector, pivot and CRT formulas below are unchanged. +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +using U=uint32_t;using V=uint64_t; +#include "binary_io.hpp" +int main(int argc,char**argv){ +assert(argc==2);std::ifstream f(argv[1],std::ios::binary);U hdr[6];read_array(f,hdr); +U h=hdr[0],v=hdr[1],R=hdr[2],nf=hdr[3],nt=hdr[4];int64_t singles=hdr[5];assert(h==23||h==25); +V sum,loss;f.read(reinterpret_cast(&sum),8);f.read(reinterpret_cast(&loss),8); +struct Frame{V core,cover;U rank;};std::vectorframes; +for(U i=0;i(&a.core),8);f.read(reinterpret_cast(&a.cover),8);f.read(reinterpret_cast(&a.rank),4);frames.push_back(a);} +std::map,int64_t>transitions; +for(U i=0;i(&a),4);f.read(reinterpret_cast(&b),4);f.read(reinterpret_cast(&count),8);transitions[{a,b}]=count;} +assert(f);assert(sum==h*V(R)+loss); +V p=2305843009213693951ULL; +auto mul=[&](V a,V b)->V{return (__uint128_t)a*b%p;}; +auto power=[&](V a,V b)->V{V r=1;for(;b;b>>=1,a=mul(a,a))if(b&1)r=mul(r,a);return r;}; +auto sub=[&](V a,V b)->V{return (a+p-b)%p;}; +std::vector>matrix_cache(frames.size()); +auto matrix=[&](U id)->const std::vector&{auto&A=matrix_cache[id];if(!A.empty())return A;A.assign(h*h,0);if(id==0)return A;if(id==1){for(U i=0;i>i)&1);V zj=((f.core>>j)&1)?3*(h+1)-10:p-10;A[i*h+j]=mul(mul(wi,zj),factor);}return A;} + assert(c==1||c==2);V s=3-c,d=s*s+(c-1)*nn,den=3*(h+1)*d,inv=power(den,p-2); + for(U i=0;i>i)&1,oj=(out>>j)&1,wi=3+((f.core>>i)&1),zj=((f.core>>j)&1)?3*(h+1)-10:p-10; + V num=(mul(s*oi,zj)+3*(h+1)*s*wi*oj+mul(nn*wi,zj))%p;num=sub(num,3*(h+1)*(c-1)*oi*oj);A[i*h+j]=(V(i==j&&oi)+mul(num,inv))%p; + }return A;}; + +std::vectorblocks(h+1);blocks[1]=singles;V done=0,matrices=0,crt_matrices=0,crt_disagreements=0;U longest=0;std::mapcorrection_hist; +for(auto&[key,count]:transitions){if(!count)continue;assert(count>0);U aa=key.first,bb=key.second;U rr=frames[bb].rank-frames[aa].rank;assert(frames[bb].rank>=frames[aa].rank);if(!rr)continue; + if(rr<=2){blocks[1]+=count*rr;continue;}if(aa==0&&bb==1){blocks[h]+=count;continue;} + if(aa>1&&bb>1){ + assert(!(frames[bb].core&~frames[aa].core)); + assert(!(frames[aa].cover&~frames[bb].cover)); + U ca=popcount64(frames[aa].core),cb=popcount64(frames[bb].core); + assert(ca==3||frames[aa].core==frames[bb].core||(ca==2&&cb==1)); + } + const auto&A=matrix(aa);const auto&B=matrix(bb);std::vectorM(h*h);for(U x=0;x>pivots; + for(U i=0;i=0&&!M[i*h+j])j--;if(j<0)continue;pivots.push_back({i,U(j)});V inv=power(M[i*h+j],p-2);for(U k=i+1;k core-one use all three primes at these dimensions. +if(aa>1&&bb>1&&(popcount64(frames[aa].core)==3||(popcount64(frames[aa].core)==2&&popcount64(frames[bb].core)==1))){ + assert(h==23||h==25);crt_matrices++;matrix_cache[aa].clear();matrix_cache[bb].clear();std::vector>> all{pivots}; + for(V extra:{2147483647ULL,524287ULL}){p=extra;matrix_cache[aa].clear();matrix_cache[bb].clear();const auto&C=matrix(aa);const auto&D=matrix(bb);std::vectorY(h*h);for(U z=0;z> pp; + for(U i=0;i=0&&!Y[i*h+j])j--;if(j<0)continue;pp.push_back({i,U(j)});V inv=power(Y[i*h+j],p-2);for(U k=i+1;k corner((h+1)*(h+1));for(U i=0;i=j;best=std::max(best,rank);}corner[(i+1)*(h+1)+j]=best;} + pivots.clear();for(U i=0;i=0);mass+=t*blocks[t];}assert(mass==sum); +std::string target=std::string(argv[1])+".profiles.json";std::ofstream out(target);assert(out);out<<"{\"h\":"<1 for b in blocks) + def new(g): + s=len(slots);slots.append(0);frames.append(g);hist[blocks[g]['rank']]+=1;events.append((s,-1,g));return s + def raise_(s,g): + old=frames[s];assert contains(blocks[old]['frame'],blocks[g]['frame']);hist[blocks[g]['rank']-blocks[old]['rank']]+=1;frames[s]=g;events.append((s,old,g)) + def xor(a,b,g): + assert a!=b;raise_(a,g);raise_(b,g);slots[a]^=slots[b];ops.append((a,b,g)) + def acquire(g,anchors): + if reclaim: + bb={} + def ins(s): + row=slots[s];expr=1<>s&1;e^=1<>i&1) + if j!=i: + # Synthesize swap as three XORs at the single common frame. + for a,z in ((i,j),(j,i),(i,j)):rr[a]^=rr[z];elim.append((a,z)) + for j in range(len(ins)): + if j!=i and rr[j]>>i&1:rr[j]^=rr[i];elim.append((j,i)) + assert rr==[1<>i&1:xor(s,value_slots[y],g) + assert slots[s]==signal[x];value_slots[x]=s + used=set() + for u in outuses: + x=uses[u][0];s=value_slots[x] + if x in used: + ss=acquire(g,list(value_slots.values()));xor(ss,s,g);s=ss + used.add(x);assert u not in assign;assign[u]=s + if step%5000==0:print('compile',h,step,len(slots),'reclaimed',stats['reclaimed'],'seconds',time.time()-t0,flush=True,file=sys.stderr) + output_slots=[];output_records=[];scatter=[0]*v;J=[] + for u,(x,g,target)in enumerate(uses): + if target is None:continue + s=assign[u];assert slots[s]==signal[x];raise_(s,g);output_slots.append(s) + common,triple=target;output_records.append((s,g,common,triple)) + targets=[i for i,t in enumerate(c.inputs)if common in t]if len(triple)==1 else[c.inputs.index(triple)] + for i in targets:scatter[i]^=slots[s];J.append((v+i,2*v+s)) + rank=blocks[g]['rank'] + if len(triple)==1:hist[rank]+=1;hist[h-rank]+=1 + else:hist[h-1-rank]+=1;hist[1]+=1 + assert len(set(output_slots))==len(output_slots) + for s in retired:hist[h-blocks[frames[s]]['rank']]+=1 + assert len(retired)+len(output_slots)==len(slots) + assert scatter==[1<=6 and h!=9, 'The ambient form I-J/9 must be nondegenerate' + self.h=h + self.local=circuit or ExclusionCircuit(h-1) + assert self.local.n==h-1, 'Pair circuit has the wrong ground size' + self.inputs=list(combinations(range(h),3)) + self.variables={t:i+1 for i,t in enumerate(self.inputs)} + self.args=[None]*(len(self.inputs)+1) + self.core=[0]+[sum(1<=2 and key in lookup: + mapping[node]=lookup[key];self.merged+=1 + continue + new=len(self.args);mapping[node]=new + self.args.append((a,b));self.core.append(core);self.union.append(union) + self.provenance.append((common,node)) + if core.bit_count()>=2:lookup[key]=new + for pair,node in sorted(self.local.outputs.items()): + t=tuple(sorted((common,*(self.points[common][x] for x in pair)))) + self.outputs[common,t]=mapping[node] + self.active=set();stack=list(self.outputs.values()) + while stack: + n=stack.pop() + if n in self.active:continue + self.active.add(n) + if self.args[n]:stack.extend(self.args[n]) + self.additions=sum(self.args[n] is not None for n in self.active) + + @lru_cache(maxsize=16384) + def support_in(self,node,common): + """Exact pair-input support in coordinates with this common point.""" + assert self.core[node]&(1<= j+1 proves persistence.", + "common_cutoff": 14000000000000, + "cutoff_log2_input": { + "alpha": 6143424401, + "compact": 24573697601, + "geometry": 3999931956149, + "guard": 4350062, + "log_p": 25, + "normalization": 14000000000000, + "period": 49147395201, + "phase_cell": 19, + "reservoir": 14, + "stopped_leaf": 252 + }, + "power_checkpoints": [ + { + "log2_input": 14000000000000, + "powers": { + "alpha": { + "exponent": 714467976, + "rhs": 112000000156824, + "rhs_bits": 47 + }, + "compact": { + "exponent": 714467976, + "rhs": 448000000627232, + "rhs_bits": 49 + }, + "leaf": { + "exponent": 666666666666, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 714467976, + "rhs": 224000000313576, + "rhs_bits": 48 + }, + "rows": { + "exponent": 714467976, + "rhs": 112000000156824000, + "rhs_bits": 57 + } + } + }, + { + "log2_input": 28000000000000, + "powers": { + "alpha": { + "exponent": 1428935953, + "rhs": 224000000156824, + "rhs_bits": 48 + }, + "compact": { + "exponent": 1428935953, + "rhs": 896000000627232, + "rhs_bits": 50 + }, + "leaf": { + "exponent": 1333333333333, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 1428935953, + "rhs": 448000000313576, + "rhs_bits": 49 + }, + "rows": { + "exponent": 1428935953, + "rhs": 224000000156824000, + "rhs_bits": 58 + } + } + }, + { + "log2_input": 56000000000000, + "powers": { + "alpha": { + "exponent": 2857871906, + "rhs": 448000000156824, + "rhs_bits": 49 + }, + "compact": { + "exponent": 2857871906, + "rhs": 1792000000627232, + "rhs_bits": 51 + }, + "leaf": { + "exponent": 2666666666666, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 2857871906, + "rhs": 896000000313576, + "rhs_bits": 50 + }, + "rows": { + "exponent": 2857871906, + "rhs": 448000000156824000, + "rhs_bits": 59 + } + } + }, + { + "log2_input": 112000000000000, + "powers": { + "alpha": { + "exponent": 5715743812, + "rhs": 896000000156824, + "rhs_bits": 50 + }, + "compact": { + "exponent": 5715743812, + "rhs": 3584000000627232, + "rhs_bits": 52 + }, + "leaf": { + "exponent": 5333333333333, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 5715743812, + "rhs": 1792000000313576, + "rhs_bits": 51 + }, + "rows": { + "exponent": 5715743812, + "rhs": 896000000156824000, + "rhs_bits": 60 + } + } + }, + { + "log2_input": 224000000000000, + "powers": { + "alpha": { + "exponent": 11431487624, + "rhs": 1792000000156824, + "rhs_bits": 51 + }, + "compact": { + "exponent": 11431487624, + "rhs": 7168000000627232, + "rhs_bits": 53 + }, + "leaf": { + "exponent": 10666666666666, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 11431487624, + "rhs": 3584000000313576, + "rhs_bits": 52 + }, + "rows": { + "exponent": 11431487624, + "rhs": 1792000000156824000, + "rhs_bits": 61 + } + } + }, + { + "log2_input": 448000000000000, + "powers": { + "alpha": { + "exponent": 22862975248, + "rhs": 3584000000156824, + "rhs_bits": 52 + }, + "compact": { + "exponent": 22862975248, + "rhs": 14336000000627232, + "rhs_bits": 54 + }, + "leaf": { + "exponent": 21333333333333, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 22862975248, + "rhs": 7168000000313576, + "rhs_bits": 53 + }, + "rows": { + "exponent": 22862975248, + "rhs": 3584000000156824000, + "rhs_bits": 62 + } + } + } + ], + "practical_runtime_claim": false + }, + "kappa": "40827/800000000", + "next_kappa": "318961/6250000000", + "next_kappa_rejection": "{'g1_above_kappa': '-25408022593116799041/7102635201420453820506250000000', 'g3_above_kappa': '-5201705247125960457841/1136421632227272611281000000000000', 'g5_above_kappa': '-7640875416065173165777/1818274611563636178049600000000000', 'g6_above_kappa': '-33658690551416775383761/9091373057818180890248000000000000'}", + "original_enclosure_control": { + "accepted_upper": "427922022655051425592169455669348999419009338821677321501934579031509793316011927849852932699225587520480274623290826519124585131702799274967695430254567113650998884459986946222692530282749027853246814000572815342011972280832203653626757194588235745687874105909336892415629002940540277569675953192803096179140323199169875932058482212840371519373866332987776983981442275480629595879092440778438065834410270423292532877965451564571150969903518733283745770147929604915103094966966240445718551419238205360172260389165815355293860586787487668007987689744585745259297708409486845374929838902410526770296527117452860612190765279746966315757114757646249443956020657651637850471083396567352186238660458491615294604389003317389825219053116168473153626947262543915434579501546193988862612230828605213616950127673267971569642351835151332191639228898384399684069201926146521990048728093044781289653532998958679374426311189560250341590145887508815021337226982815008224357898461730107482372032845888428476273500999760300211786400006201411895378711403441679516543048925021677151249124774565210588951830515783148269750340702961227551/427922022656065148722015624802653702889498564421131911283499341667573520226931037010841800905471906532344178836996138043716400845851217866305783744362952178488692163617667760947934446961428764096857095662125776648371730944750850740376437391609342381012534311915175448066736517476339673099556706774420618964194148648273392198066357729130169733561134843302857240883248026154958104699812690626052696940220399106081385425042375485602542555097186568052507330835744941604979041042724146442866160606543845260686788873587136675704407457814823973491248098778928607362558510538701395621352496475077156310639504247824069338077266718928997258973439362819271794470658904562860362470215133491491305622841328989108583065554731667738937158958161399293136952726957825424616696098290625805073806865420810062253320746566043770582998650738545122821954094593047815197564256009823257422725379706679933315631514838786135447434356419391187561619401952168548631044553632502869921434523792993783307013326156305798890689568359302672301544894715282222433613932715358768884516049207059704442128612279932500000000000000000000000000000000000000000", + "next_bit_lower": "374050380000830479912607937870818083834173718615907103079616878943322706260497332605534066060136407627149268792108716494485294881071/374050380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" + } + }, + "comparison": { + "additional_precision_gain": "2116843/200000000000000000", + "difference": "1238116843/200000000000000000", + "difference_pr65": "59693903/12500000000000000", + "kappa": "10206752116843/200000000000000000", + "pr63_kappa": "5102757/100000000000", + "pr65_kappa": "2041159402879/40000000000000000", + "structural_gain_on_original_grid": "309/50000000000" + }, + "grid_denominator": 1000000000000000000, + "next_bit_saving": "5103636516201/100000000000000000", + "preferred": { + "assembly": { + "absorption_gap": "12957517239351787231794417587/100005103636516190692726967598200000000000000000", + "constraints": { + "K_dominates_log": "25518182705927945452132037536365162009/500025518182580953463634837991000000000000", + "K_geometry": "375025518182705953463634837991/500025518182580953463634837991000000000000", + "a_below_b": "20663634837991/1000000000000000000", + "a_positive": "51036365162009/1000000000000000000", + "alpha_below_one": "999999999999500025518182580953463634837991/1000051036365161906927269675982000000000000", + "alpha_below_one_fourth": "249961722725628595322730323966963634837991/1000051036365161906927269675982000000000000", + "alpha_positive": "51036365661881409087095028536365162009/1000051036365161906927269675982000000000000", + "artificial_boundary": "28001633163690681098227177374284390904513973/4000204145460647627709078703928000000000000", + "b_below_one_over32": "311783/10000000", + "beta_below_one": "19/20", + "beta_positive": "1/20", + "c_below_one": "499974481817294046536365162009/500000000000000000000000000000", + "c_positive": "25518182705953463634837991/500000000000000000000000000000", + "cell_above_band": "999999999998499974481817419046536365162009/2000102072730323813854539351964000000000000", + "compact_leaf": "8539317419046536365162009/500000000000000000000000000000", + "compact_reservations": "1/4000000000000", + "delta_below_one_eighth": "999999999999/8000000000000", + "delta_positive": "1/8000000000000", + "epsilon_below_one": "25518183080953463634837991/500025518182580953463634837991", + "epsilon_positive": "499999999999500000000000000000/500025518182580953463634837991", + "g1_above_kappa": "100005116594033430044514199392617587/100005103636516190692726967598200000000000000000", + "g2_above_kappa": "1302288897/500000000000000000", + "g3_above_kappa": "12957517239351787231794417587/100005103636516190692726967598200000000000000000", + "g4_above_kappa": "1302288897/500000000000000000", + "g5_above_kappa": "37501926821210810861559844643742587/100005103636516190692726967598200000000000000000", + "g6_above_kappa": "87504478639468906207923328442842587/100005103636516190692726967598200000000000000000", + "g7_above_kappa": "99994896363383814423867065831844514199392617587/100005103636516190692726967598200000000000000000", + "gamma_sublinear": "1/2000000000000", + "guard_width": "25518183080953463634837991/500025518182580953463634837991", + "lambda_above_internal": "51036365162009/1000000000000000000000000000000", + "lambda_above_sigma": "20663634838042036365162009/1000000000000000000000000000000", + "lambda_above_tau": "51036365162009/1000000000000000000000000000000", + "lambda_prime_above_lambda": "51036365162009/1000000000000000000000000000000", + "lambda_prime_below_one": "25518182580953463634837991/500000000000000000000000000000", + "literal_scalar_guard": "9693793493753822316795466474748", + "phase_boundary": "40829092429500023633159832136365162009/800040829092129525541815740785600000000000", + "phase_leaf_above_bit": "17078634837991/1000000000000000000", + "phase_local": "204145464147602190896122974536365162009/4000204145460647627709078703928000000000000", + "prime_interval_packing": "25518183080953463634837991/500025518182580953463634837991", + "q_below_internal": "51036365162009/500000000000000000000000000000", + "q_below_leaf": "8539317419046536365162009/500000000000000000000000000000", + "q_below_reservations": "1/4000000000000", + "q_positive": "25518182580953463634837991/500000000000000000000000000000", + "record_suffix": "25518183080953463634837991/500025518182580953463634837991", + "row_product_gap": "6548/25", + "short_record_fallback": "499974480514563711027641740160491885440816916081/500025518182580953463634837991000000000000000000", + "small_field_exposure": "1/1000000000000" + }, + "finite_bridge": { + "bit": { + "W": 137151806, + "halving_degree": 9, + "m": 575, + "maxchild": 529, + "wire_bits": 28 + }, + "complex": { + "W": 537696432, + "halving_degree": 20, + "m": 784, + "maxchild": 756, + "s": 421548223824, + "scalar_group_upper": 4793351472, + "wire_bits": 30 + }, + "rows": { + "coefficient": 852, + "degree": 2000, + "degree_gap": "6548/25", + "suffix_slope": 8000 + }, + "semantic": { + "B": 9696565176891520488614054257040, + "C0": 2358858462850846165593256368932965330169899180021667007021321420800, + "C1": 1, + "E": 9696565176891520488192506033216, + "induction_gap": 533311084729033626873772984137200, + "literal_charge": 2771683137698171397039558468, + "strict_literal_gap": 9693793493753822316795466474748 + } + }, + "margins": { + "g1": "25518183080953463634837991/500025518182580953463634837991", + "g2": "51036365162009/1000000000000000000", + "g3": "25518182580927945452257037536365162009/500025518182580953463634837991000000000000", + "g4": "51036365162009/1000000000000000000", + "g5": "40829092429500023633159832136365162009/800040829092129525541815740785600000000000", + "g6": "204145464147602190896122974536365162009/4000204145460647627709078703928000000000000", + "g7": "499999999999500000000000000000/500025518182580953463634837991" + }, + "minimum_margin": "25518182580927945452257037536365162009/500025518182580953463634837991000000000000", + "parameters": { + "C0": 2358858462850846165593256368932965330169899180021667007021321420800, + "C1": "1", + "a_bit": "51036365162009/1000000000000000000", + "a_complex": "717/10000000", + "alpha_squared_power": "51036365661881409087095028536365162009/1000051036365161906927269675982000000000000", + "beta": "1/20", + "c": "25518182705953463634837991/500000000000000000000000000000", + "delta": "1/8000000000000", + "epsilon": "499999999999500000000000000000/500025518182580953463634837991", + "h": "1/1000000000000", + "kappa": "10206752116843/200000000000000000", + "lambda_": "999948963634838042036365162009/1000000000000000000000000000000", + "lambda_prime": "499974481817419046536365162009/500000000000000000000000000000", + "q": "25518182580953463634837991/500000000000000000000000000000", + "sigma": "9999283/10000000", + "tau": "999948963634837991/1000000000000000000" + }, + "recurrence": { + "internal": "999948963634837991/1000000000000000000", + "leaf": "199986377/200000000", + "reservations": "499974481817294046536365162009/500000000000000000000000000000" + }, + "scoped_limit": "51036365162009/1000051036365162009" + }, + "eventual_bounds": { + "additional_eventual_conditions": [ + "BHP prime threshold and distinct-prime packing", + "Fixed rational basis, eligible common prime and native table setup", + "Catalogue/descriptor domination, logarithm absorption, exact recovery" + ], + "all_interval_argument": "For [Z,Z+k), bound RHS at Z+k and LHS at floor(Z/k). Successive intervals double LHS; the positive affine RHS grows at most linearly, so 2^j >= j+1 proves persistence.", + "common_cutoff": 14000000000000, + "cutoff_log2_input": { + "alpha": 6143424401, + "compact": 24573697601, + "geometry": 3999931956143, + "guard": 4350062, + "log_p": 25, + "normalization": 14000000000000, + "period": 49147395201, + "phase_cell": 19, + "reservoir": 14, + "stopped_leaf": 252 + }, + "power_checkpoints": [ + { + "log2_input": 14000000000000, + "powers": { + "alpha": { + "exponent": 714467976, + "rhs": 112000000156824, + "rhs_bits": 47 + }, + "compact": { + "exponent": 714467976, + "rhs": 448000000627232, + "rhs_bits": 49 + }, + "leaf": { + "exponent": 666666666666, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 714467976, + "rhs": 224000000313576, + "rhs_bits": 48 + }, + "rows": { + "exponent": 714467976, + "rhs": 112000000156824000, + "rhs_bits": 57 + } + } + }, + { + "log2_input": 28000000000000, + "powers": { + "alpha": { + "exponent": 1428935953, + "rhs": 224000000156824, + "rhs_bits": 48 + }, + "compact": { + "exponent": 1428935953, + "rhs": 896000000627232, + "rhs_bits": 50 + }, + "leaf": { + "exponent": 1333333333333, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 1428935953, + "rhs": 448000000313576, + "rhs_bits": 49 + }, + "rows": { + "exponent": 1428935953, + "rhs": 224000000156824000, + "rhs_bits": 58 + } + } + }, + { + "log2_input": 56000000000000, + "powers": { + "alpha": { + "exponent": 2857871906, + "rhs": 448000000156824, + "rhs_bits": 49 + }, + "compact": { + "exponent": 2857871906, + "rhs": 1792000000627232, + "rhs_bits": 51 + }, + "leaf": { + "exponent": 2666666666666, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 2857871906, + "rhs": 896000000313576, + "rhs_bits": 50 + }, + "rows": { + "exponent": 2857871906, + "rhs": 448000000156824000, + "rhs_bits": 59 + } + } + }, + { + "log2_input": 112000000000000, + "powers": { + "alpha": { + "exponent": 5715743812, + "rhs": 896000000156824, + "rhs_bits": 50 + }, + "compact": { + "exponent": 5715743812, + "rhs": 3584000000627232, + "rhs_bits": 52 + }, + "leaf": { + "exponent": 5333333333333, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 5715743812, + "rhs": 1792000000313576, + "rhs_bits": 51 + }, + "rows": { + "exponent": 5715743812, + "rhs": 896000000156824000, + "rhs_bits": 60 + } + } + }, + { + "log2_input": 224000000000000, + "powers": { + "alpha": { + "exponent": 11431487624, + "rhs": 1792000000156824, + "rhs_bits": 51 + }, + "compact": { + "exponent": 11431487624, + "rhs": 7168000000627232, + "rhs_bits": 53 + }, + "leaf": { + "exponent": 10666666666666, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 11431487624, + "rhs": 3584000000313576, + "rhs_bits": 52 + }, + "rows": { + "exponent": 11431487624, + "rhs": 1792000000156824000, + "rhs_bits": 61 + } + } + }, + { + "log2_input": 448000000000000, + "powers": { + "alpha": { + "exponent": 22862975248, + "rhs": 3584000000156824, + "rhs_bits": 52 + }, + "compact": { + "exponent": 22862975248, + "rhs": 14336000000627232, + "rhs_bits": 54 + }, + "leaf": { + "exponent": 21333333333333, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 22862975248, + "rhs": 7168000000313576, + "rhs_bits": 53 + }, + "rows": { + "exponent": 22862975248, + "rhs": 3584000000156824000, + "rhs_bits": 62 + } + } + } + ], + "practical_runtime_claim": false + }, + "kappa": "10206752116843/200000000000000000", + "next_kappa": "6379220073027/125000000000000000", + "next_kappa_rejection": "{'g3_above_kappa': '-54404741498227752163082843757/62503189772822619182954354748875000000000000000'}" + }, + "profile_path": "research/slot-cost-rank-pair/paired-candidate.json", + "profile_sha256": "be0322ad60f73923953f242eaffaf114ff12438e8617dae38888b77fa03184cc", + "proof_limits": [ + "The complete physical profile is supplied; independent word and CRT replay are parent-verifier responsibilities.", + "The rational logarithm and exponential enclosure derivations are documented in README.md, not formally mechanized.", + "All-size compiler, routing, recovery, prime-selection and fixed-tape transfer remain inherited.", + "Neither global optimality nor measured practical speedup is claimed." + ], + "rejected_moment": { + "degree": 8, + "lower": "2142996968750000000299438450297169612240838554633/2142996968750000000000000000000000000000000000000", + "rounding_denominator": 10000000000000000000000000000000000000000, + "saving": "5103636516201/100000000000000000", + "strict_gap": "-598876900594339443234732710509/4285993937500000000000000000000000000000000000000", + "terms": { + "1": { + "exp_lower": "5001621782709938619700922082052587636651/5000000000000000000000000000000000000000", + "exp_upper": "5001621782709938619700922082052587892463/5000000000000000000000000000000000000000", + "log_lower": "3177185020398675220004135749131/500000000000000000000000000000", + "log_upper": "6354370040797350440008271498263/1000000000000000000000000000000", + "weight": "37473373/1714397575" + }, + "10": { + "exp_lower": "10002068097583441186892788402001906405869/10000000000000000000000000000000000000000", + "exp_upper": "10002068097583441186892788402001906916359/10000000000000000000000000000000000000000", + "log_lower": "2025892473901652377995140021789/500000000000000000000000000000", + "log_upper": "4051784947803304755990280043579/1000000000000000000000000000000", + "weight": "77412/68575903" + }, + "11": { + "exp_lower": "2500504861197638491125402450459847848797/2500000000000000000000000000000000000000", + "exp_upper": "10002019444790553964501609801839391905671/10000000000000000000000000000000000000000", + "log_lower": "3956474767998979895946327920297/1000000000000000000000000000000", + "log_upper": "1978237383999489947973163960149/500000000000000000000000000000", + "weight": "376059/311708650" + }, + "12": { + "exp_lower": "250049375711931092522054883859255295653/250000000000000000000000000000000000000", + "exp_upper": "5000987514238621850441097677185106168299/5000000000000000000000000000000000000000", + "log_lower": "3869463391009350129778562018423/1000000000000000000000000000000", + "log_upper": "483682923876168766222320252303/125000000000000000000000000000", + "weight": "1634448/1714397575" + }, + "13": { + "exp_lower": "500096708480197958502100766884185152173/500000000000000000000000000000000000000", + "exp_upper": "5000967084801979585021007668841851776967/5000000000000000000000000000000000000000", + "log_lower": "3789420683335813703954784056697/1000000000000000000000000000000", + "log_upper": "1894710341667906851977392028349/500000000000000000000000000000", + "weight": "1529879/1714397575" + }, + "14": { + "exp_lower": "10001896340344796389866529516045856266039/10000000000000000000000000000000000000000", + "exp_upper": "10001896340344796389866529516045856776509/10000000000000000000000000000000000000000", + "log_lower": "3715312711182091825485686633361/1000000000000000000000000000000", + "log_upper": "1857656355591045912742843316681/500000000000000000000000000000", + "weight": "1223733/1714397575" + }, + "15": { + "exp_lower": "5000930561137841255446003888994805890563/5000000000000000000000000000000000000000", + "exp_upper": "10001861122275682510892007777989612291593/10000000000000000000000000000000000000000", + "log_lower": "3646319839695140374012266928113/1000000000000000000000000000000", + "log_upper": "1823159919847570187006133464057/500000000000000000000000000000", + "weight": "3819/5963122" + }, + "16": { + "exp_lower": "10001828178084434573642232415005231243819/10000000000000000000000000000000000000000", + "exp_upper": "10001828178084434573642232415005231754283/10000000000000000000000000000000000000000", + "log_lower": "3581781318557569202339343012429/1000000000000000000000000000000", + "log_upper": "358178131855756920233934301243/100000000000000000000000000000", + "weight": "65304/155854325" + }, + "17": { + "exp_lower": "10001797231872447698890844122750497512437/10000000000000000000000000000000000000000", + "exp_upper": "10001797231872447698890844122750498022899/10000000000000000000000000000000000000000", + "log_lower": "3521156696741134359758736880389/1000000000000000000000000000000", + "log_upper": "352115669674113435975873688039/100000000000000000000000000000", + "weight": "3553051/1714397575" + }, + "18": { + "exp_lower": "5000884027547693709638795996529085554203/5000000000000000000000000000000000000000", + "exp_upper": "2000353611019077483855518398611634323773/2000000000000000000000000000000000000000", + "log_lower": "3463998282901185747800548902959/1000000000000000000000000000000", + "log_upper": "43299978536264821847506861287/12500000000000000000000000000", + "weight": "361782/1714397575" + }, + "19": { + "exp_lower": "5000870228155111770067186341476859867097/5000000000000000000000000000000000000000", + "exp_upper": "2500435114077555885033593170738430061163/2500000000000000000000000000000000000000", + "log_lower": "1704965530815454989999622033187/500000000000000000000000000000", + "log_upper": "27279448493047279839993952531/8000000000000000000000000000", + "weight": "11837/155854325" + }, + "2": { + "exp_lower": "10002889699809419311404957888177265700451/10000000000000000000000000000000000000000", + "exp_upper": "200057793996188386228099157763545324227/200000000000000000000000000000000000000", + "log_lower": "1415305715059351282647759844201/250000000000000000000000000000", + "log_upper": "1132244572047481026118207875361/200000000000000000000000000000", + "weight": "3613701/1714397575" + }, + "20": { + "exp_lower": "10001714273555260126773419135540751814249/10000000000000000000000000000000000000000", + "exp_upper": "2000342854711052025354683827108150464941/2000000000000000000000000000000000000000", + "log_lower": "83965944181083986164326198053/25000000000000000000000000000", + "log_upper": "3358637767243359446573047922121/1000000000000000000000000000000", + "weight": "26402/342879515" + }, + "21": { + "exp_lower": "312552792768476668756477376972760704219/312500000000000000000000000000000000000", + "exp_upper": "5000844684295626700103638031564171522731/5000000000000000000000000000000000000000", + "log_lower": "413730950384240930438459189737/125000000000000000000000000000", + "log_upper": "3309847603073927443507673517897/1000000000000000000000000000000", + "weight": "12978/2981561" + }, + "22": { + "exp_lower": "10001665622483469680935380405521948856003/10000000000000000000000000000000000000000", + "exp_upper": "2000333124496693936187076081104389873291/2000000000000000000000000000000000000000", + "log_lower": "3263327587439034586529095798839/1000000000000000000000000000000", + "log_upper": "81583189685975864663227394971/25000000000000000000000000000", + "weight": "77/2833715" + }, + "23": { + "exp_lower": "2000328586433323254292063195698384854901/2000000000000000000000000000000000000000", + "exp_upper": "2500410733041654067865078994622981196239/2500000000000000000000000000000000000000", + "log_lower": "804718956217050187300379666613/250000000000000000000000000000", + "log_upper": "3218875824868200749201518666453/1000000000000000000000000000000", + "weight": "11447/542102" + }, + "25": { + "exp_lower": "1000160037032327270766029206780672264517/1000000000000000000000000000000000000000", + "exp_upper": "10001600370323272707660292067806723155619/10000000000000000000000000000000000000000", + "log_lower": "313549421592914969080675283181/100000000000000000000000000000", + "log_upper": "3135494215929149690806752831811/1000000000000000000000000000000", + "weight": "11641/566743" + }, + "3": { + "exp_lower": "10002682707500039378884137682290792778171/10000000000000000000000000000000000000000", + "exp_upper": "10002682707500039378884137682290793288871/10000000000000000000000000000000000000000", + "log_lower": "262787887606462037430651313067/50000000000000000000000000000", + "log_upper": "5255757752129240748613026261341/1000000000000000000000000000000", + "weight": "266382/155854325" + }, + "4": { + "exp_lower": "10002535846716988106024017994549387191073/10000000000000000000000000000000000000000", + "exp_upper": "5001267923358494053012008997274693850843/5000000000000000000000000000000000000000", + "log_lower": "2484037839838729910586903627673/500000000000000000000000000000", + "log_upper": "4968075679677459821173807255347/1000000000000000000000000000000", + "weight": "88926/68575903" + }, + "481": { + "exp_lower": "10000091101740848303816500641039585810393/10000000000000000000000000000000000000000", + "exp_upper": "10000091101740848303816500641039586320763/10000000000000000000000000000000000000000", + "log_lower": "35700554138317851917337677133/200000000000000000000000000000", + "log_upper": "89251385345794629793344192833/500000000000000000000000000000", + "weight": "13468/271051" + }, + "5": { + "exp_lower": "2000484386825724156576238643903443590659/2000000000000000000000000000000000000000", + "exp_upper": "5001210967064310391440596609758609231931/5000000000000000000000000000000000000000", + "log_lower": "1186233032090812516351878041259/250000000000000000000000000000", + "log_upper": "4744932128363250065407512165037/1000000000000000000000000000000", + "weight": "436112/342879515" + }, + "525": { + "exp_lower": "5000023214398350386524107026306460045369/5000000000000000000000000000000000000000", + "exp_upper": "2000009285759340154609642810522584120221/2000000000000000000000000000000000000000", + "log_lower": "22742944551431673576538712861/250000000000000000000000000000", + "log_upper": "18194355641145338861230970289/200000000000000000000000000000", + "weight": "244461/566743" + }, + "529": { + "exp_lower": "10000042555032962377911876995537722779239/10000000000000000000000000000000000000000", + "exp_upper": "5000021277516481188955938497768861644803/5000000000000000000000000000000000000000", + "log_lower": "41690804469525529197382917321/500000000000000000000000000000", + "log_upper": "83381608939051058394765834643/1000000000000000000000000000000", + "weight": "116748/271051" + }, + "6": { + "exp_lower": "625145553858123694154427541530940552571/625000000000000000000000000000000000000", + "exp_upper": "400093154469199164258833626579801974067/400000000000000000000000000000000000000", + "log_lower": "4562610571569295439195794139881/1000000000000000000000000000000", + "log_upper": "2281305285784647719597897069941/500000000000000000000000000000", + "weight": "222609/155854325" + }, + "7": { + "exp_lower": "10002250170813833798186193306781280883941/10000000000000000000000000000000000000000", + "exp_upper": "10002250170813833798186193306781281394461/10000000000000000000000000000000000000000", + "log_lower": "4408459891742037134902918754819/1000000000000000000000000000000", + "log_upper": "220422994587101856745145937741/50000000000000000000000000000", + "weight": "2615158/1714397575" + }, + "8": { + "exp_lower": "2500545501535535199243958421377203624343/2500000000000000000000000000000000000000", + "exp_upper": "5001091003071070398487916842754407503939/5000000000000000000000000000000000000000", + "log_lower": "66795757798711164246196486467/15625000000000000000000000000", + "log_upper": "4274928499117514511756575133889/1000000000000000000000000000000", + "weight": "92592/68575903" + }, + "9": { + "exp_lower": "10002121881026162439707701289430730763687/10000000000000000000000000000000000000000", + "exp_upper": "1250265235128270304963462661178841409273/1250000000000000000000000000000000000000", + "log_lower": "4157145463461131057217781024417/1000000000000000000000000000000", + "log_upper": "2078572731730565528608890512209/500000000000000000000000000000", + "weight": "4275837/3428795150" + } + }, + "upper": "4285993937500000000598876900594339443234732710509/4285993937500000000000000000000000000000000000000" + }, + "source_sha256": { + "references/frame-compiler/pr48/research/copied-fixed/balanced_assembly.py": "4d27575dcad2b45a281a34054d311409ecd954f373c0c3a62c29bcc843f06a86", + "research/reordered-rank-pair/arithmetic/certificate.json": "6474f4c638b5a16de5a7ed6054f3ad28404eac17eaa4570aab2ef378d6e7e1a3", + "research/slot-cost-rank-pair/arithmetic/audit.py": "aa297fffcdaa133f5dee17d97fac72aa5ba2cf943da5a8a5e3f4d62f6f0a7f79", + "research/slot-cost-rank-pair/arithmetic/refine.py": "8af4f9ed6cec841fe691b7f7950ca7b17483282e8869795922d29f10a4d49c16", + "scripts/experiments/binary_frame_math.py": "1f96e8aafc8ae89f8eeec5d03800131d93d58e01bf8a7fca8feb03702d1740d0" + }, + "status": "Exact finite conditional screen; physical linkage checked by parent verifier" +} diff --git a/references/frame-compiler/pr67/research/slot-cost-rank-pair/compiler.py b/references/frame-compiler/pr67/research/slot-cost-rank-pair/compiler.py new file mode 100644 index 0000000000..fe70b5cf01 --- /dev/null +++ b/references/frame-compiler/pr67/research/slot-cost-rank-pair/compiler.py @@ -0,0 +1,266 @@ +# All-rank profile-cost selection: Rohan Arun, with OpenAI Codex assistance. +# Derived from Dominik Scholz PR63, Chafik Boukhalfa PR60, Avi Eisenberg PR62 +# and eumemic PR57. Apache-2.0; all inherited notices remain applicable. +"""Exact-envelope block synthesis on the pinned PR48 scalar graph. +Experimental finite compiler; no fixed-I+J profile or multiplication claim. +""" +# Derived from eumemic's PR57 compiler; original notices remain applicable. +# Descending-rank reclamation priority: Chafik Boukhalfa, with OpenAI Codex assistance. +import sys +if sys.flags.optimize: + raise ValueError('Assertions must remain enabled') +sys.dont_write_bytecode=True +from pathlib import Path +ROOT=Path(__file__).resolve().parents[2]/'references/frame-compiler/pr48' +from hashlib import sha256 +import json +manifest=json.loads((ROOT/'SOURCE.json').read_text()) +for name,digest in manifest['files'].items(): + assert sha256((ROOT/name).read_bytes()).hexdigest()==digest, 'Changed producer source: '+name +sys.path[:0]=[str(ROOT/'scripts'),str(ROOT/'research/copied-fixed')] +from changed_graph import graph +from collections import defaultdict,Counter,deque +import argparse,json,time,struct + +def independent(rows,vec): + for row in rows: + vec=min(vec,vec^row) + return bool(vec) +def basis(rows): + out=[] + for vec in rows: + for row in out:vec=min(vec,vec^row) + if vec:out.append(vec) + return out + +def build(h): + c=graph(h);groups={};owner={};signal={};blocks=[] + for x in sorted(c.active): + key=(c.core[x],c.union[x]) + if key not in groups: + groups[key]=len(blocks);blocks.append(dict(nodes=[],frame=key,inputs=set(),uses=[])) + g=groups[key];owner[x]=g;blocks[g]['nodes'].append(x) + signal[x]=(signal[c.args[x][0]]^signal[c.args[x][1]])if c.args[x]else 1<<(x-1) + for x in sorted(c.active): + for y in c.args[x]or(): + if owner[y]!=owner[x]:blocks[owner[x]]['inputs'].add(y) + uses=[];value_uses=defaultdict(list) + for g,b in enumerate(blocks): + b['inputs']=sorted(b['inputs']);b['source']=not c.args[b['nodes'][0]] + for y in b['inputs']: + k=len(uses);uses.append((y,g,None));value_uses[y].append(k);blocks[owner[y]]['uses'].append(k) + for target,x in c.outputs.items(): + k=len(uses);uses.append((x,owner[x],target));value_uses[x].append(k);blocks[owner[x]]['uses'].append(k) + for g,b in enumerate(blocks): + b['rank']=1 if b['source']else b['frame'][1].bit_count()-b['frame'][0].bit_count() + order=sorted(range(len(blocks)),key=lambda g:(blocks[g]['rank'],min(blocks[g]['nodes']))) + place={g:i for i,g in enumerate(order)} + def contained(a,b):return not(b[0]&~a[0])and not(a[1]&~b[1]) + for g,b in enumerate(blocks): + coeff={y:1<1 for b in blocks) + def new(g): + s=len(slots);slots.append(0);frames.append(g);hist[blocks[g]['rank']]+=1;events.append((s,-1,g));return s + def raise_(s,g): + old=frames[s];assert contains(blocks[old]['frame'],blocks[g]['frame']);hist[blocks[g]['rank']-blocks[old]['rank']]+=1;frames[s]=g;events.append((s,old,g)) + def xor(a,b,g): + assert a!=b;raise_(a,g);raise_(b,g);slots[a]^=slots[b];ops.append((a,b,g)) + import subprocess,struct + from binary_frame_math import logs + # Integer midpoint enclosures give a reproducible discovery score. + # Every candidate is independently checked by the complete exact screen. + weights=[0]+[int(t*sum(logs(t))*10**30//2) for t in range(1,h+1)] + oracle_input=Path(ORACLE_INPUT) + with oracle_input.open('wb') as stream: + stream.write(struct.pack('<6I2Q',h,v,0,len(blocks)+2,0,0,h*(h-1),h*(h-1))) + stream.write(struct.pack('<2QI',0,0,0));stream.write(struct.pack('<2QI',0,0,h)) + for b in blocks:stream.write(struct.pack('<2QI',*b['frame'],b['rank'])) + oracle=subprocess.Popen([ORACLE_EXE,str(oracle_input)],stdin=subprocess.PIPE,stdout=subprocess.PIPE,text=True,bufsize=1) + oracles.append(oracle) + cache={} + def profile_entropy(a,b): + if (a,b) not in cache: + oracle.stdin.write(f'{a} {b}\n');oracle.stdin.flush() + answer=oracle.stdout.readline() + assert answer, 'profile oracle failed' + parts=list(map(int,answer.split()));assert len(parts)==h+1 + cache[a,b]=sum(n*w for n,w in zip(parts,weights)) + return cache[a,b] + def profile_cost(a,g): + old=frames[a]+2;target=g+2 + return profile_entropy(old,1)-profile_entropy(old,target)-profile_entropy(target,1) + def acquire(g,anchors): + if reclaim: + bb={} + def ins(s): + row=slots[s];expr=1<>s&1;e^=1<>i&1) + if j!=i: + # Synthesize swap as three XORs at the single common frame. + for a,z in ((i,j),(j,i),(i,j)):rr[a]^=rr[z];elim.append((a,z)) + for j in range(len(ins)): + if j!=i and rr[j]>>i&1:rr[j]^=rr[i];elim.append((j,i)) + assert rr==[1<>i&1:xor(s,value_slots[y],g) + assert slots[s]==signal[x];value_slots[x]=s + used=set() + for u in outuses: + x=uses[u][0];s=value_slots[x] + if x in used: + ss=acquire(g,list(value_slots.values()));xor(ss,s,g);s=ss + used.add(x);assert u not in assign;assign[u]=s + if step%5000==0:print('compile',h,step,len(slots),'reclaimed',stats['reclaimed'],'seconds',time.time()-t0,flush=True,file=sys.stderr) + output_slots=[];output_records=[];scatter=[0]*v;J=[] + for u,(x,g,target)in enumerate(uses): + if target is None:continue + s=assign[u];assert slots[s]==signal[x];raise_(s,g);output_slots.append(s) + common,triple=target;output_records.append((s,g,common,triple)) + targets=[i for i,t in enumerate(c.inputs)if common in t]if len(triple)==1 else[c.inputs.index(triple)] + for i in targets:scatter[i]^=slots[s];J.append((v+i,2*v+s)) + rank=blocks[g]['rank'] + if len(triple)==1:hist[rank]+=1;hist[h-rank]+=1 + else:hist[h-1-rank]+=1;hist[1]+=1 + assert len(set(output_slots))==len(output_slots) + for s in retired:hist[h-blocks[frames[s]]['rank']]+=1 + assert len(retired)+len(output_slots)==len(slots) + assert scatter==[1<, the carrier matching is read from a pinned file +// instead of Hopcroft-Karp. Every pinned edge must lie in the same admissible +// adjacency (causal order and frame inclusion); donors and uses are distinct. +// This replay-only adaptation omits the discovery edge dumper. The original +// optimizer and profiler are preserved in references/copied-fixed/pr44. +// Replay-only adaptation prepared with OpenAI Codex assistance. +// Prepared by Rohan Arun with Anthropic Claude assistance. Apache-2.0. +// Adapted at h=23,25; original PR35 by Dominik Scholz, PR32 by icekylinx. +// Dimension adaptation at 45/47; extra primes for all source-growth cases. +// Exact bounded-minor inequalities are checked by verify.py. Original credit below. +// Copyright 2026 icekylinx. Apache-2.0; AI-assisted handoff integration. +// Original round3_rankone_profiles.cpp. Requires GCC/Clang unsigned __int128. + +// Adapted input reader for complete serialized frame-compiler transitions. +// Actual-word fixed-I+J profiling, adapted from PR48 profiles.cpp. +// All projector, pivot and CRT formulas below are unchanged. +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +using U=uint32_t;using V=uint64_t; +#include "binary_io.hpp" +int main(int argc,char**argv){ +assert(argc==2);std::ifstream f(argv[1],std::ios::binary);U hdr[6];read_array(f,hdr); +U h=hdr[0],v=hdr[1],R=hdr[2],nf=hdr[3],nt=hdr[4];int64_t singles=hdr[5];assert(h==23||h==25); +V sum,loss;f.read(reinterpret_cast(&sum),8);f.read(reinterpret_cast(&loss),8); +struct Frame{V core,cover;U rank;};std::vectorframes; +for(U i=0;i(&a.core),8);f.read(reinterpret_cast(&a.cover),8);f.read(reinterpret_cast(&a.rank),4);frames.push_back(a);} +std::map,int64_t>transitions; +for(U i=0;i(&a),4);f.read(reinterpret_cast(&b),4);f.read(reinterpret_cast(&count),8);transitions[{a,b}]=count;} +assert(f);assert(sum==h*V(R)+loss); +V p=2305843009213693951ULL; +auto mul=[&](V a,V b)->V{return (__uint128_t)a*b%p;}; +auto power=[&](V a,V b)->V{V r=1;for(;b;b>>=1,a=mul(a,a))if(b&1)r=mul(r,a);return r;}; +auto sub=[&](V a,V b)->V{return (a+p-b)%p;}; +std::vector>matrix_cache(frames.size()); +auto matrix=[&](U id)->const std::vector&{auto&A=matrix_cache[id];if(!A.empty())return A;A.assign(h*h,0);if(id==0)return A;if(id==1){for(U i=0;i>i)&1);V zj=((f.core>>j)&1)?3*(h+1)-10:p-10;A[i*h+j]=mul(mul(wi,zj),factor);}return A;} + assert(c==1||c==2);V s=3-c,d=s*s+(c-1)*nn,den=3*(h+1)*d,inv=power(den,p-2); + for(U i=0;i>i)&1,oj=(out>>j)&1,wi=3+((f.core>>i)&1),zj=((f.core>>j)&1)?3*(h+1)-10:p-10; + V num=(mul(s*oi,zj)+3*(h+1)*s*wi*oj+mul(nn*wi,zj))%p;num=sub(num,3*(h+1)*(c-1)*oi*oj);A[i*h+j]=(V(i==j&&oi)+mul(num,inv))%p; + }return A;}; + +std::vectorblocks(h+1);blocks[1]=singles;V done=0,matrices=0,crt_matrices=0,crt_disagreements=0;U longest=0;std::mapcorrection_hist; +U aa,bb; +while(std::cin>>aa>>bb){ + assert(aa=frames[aa].rank); + if(rr<=2){blocks[1]=rr; for(U t=0;t<=h;t++)std::cout<1&&bb>1){ + assert(!(frames[bb].core&~frames[aa].core)); + assert(!(frames[aa].cover&~frames[bb].cover)); + U ca=popcount64(frames[aa].core),cb=popcount64(frames[bb].core); + assert(ca==3||frames[aa].core==frames[bb].core||(ca==2&&cb==1)); + } + const auto&A=matrix(aa);const auto&B=matrix(bb);std::vectorM(h*h);for(U x=0;x>pivots; + for(U i=0;i=0&&!M[i*h+j])j--;if(j<0)continue;pivots.push_back({i,U(j)});V inv=power(M[i*h+j],p-2);for(U k=i+1;k core-one use all three primes at these dimensions. +if(aa>1&&bb>1&&(popcount64(frames[aa].core)==3||(popcount64(frames[aa].core)==2&&popcount64(frames[bb].core)==1))){ + assert(h==23||h==25);crt_matrices++;matrix_cache[aa].clear();matrix_cache[bb].clear();std::vector>> all{pivots}; + for(V extra:{2147483647ULL,524287ULL}){p=extra;matrix_cache[aa].clear();matrix_cache[bb].clear();const auto&C=matrix(aa);const auto&D=matrix(bb);std::vectorY(h*h);for(U z=0;z> pp; + for(U i=0;i=0&&!Y[i*h+j])j--;if(j<0)continue;pp.push_back({i,U(j)});V inv=power(Y[i*h+j],p-2);for(U k=i+1;k corner((h+1)*(h+1));for(U i=0;i=j;best=std::max(best,rank);}corner[(i+1)*(h+1)+j]=best;} + pivots.clear();for(U i=0;i E +on the live control. The carrier is only an XOR control and its clean signal +is unchanged. Its later use can still raise it from E to G. Repeated use is +subject to the same inclusion test with its then-current frame, so the entire +physical frame path remains nested. + +This introduces no free copies, source-dependent runtime choice, or uncharged +frame jump. Candidate selection happens once while constructing a fixed finite +word. Every operation in that word is still a literal two-slot XOR. + +## Dirty state and frames + +The compiler's block transformations remain invertible on all incoming dirty +coordinates. Each additional clearing operation is invertible too. Therefore +the complete mixer M is invertible. The inherited word has the form + + M, J, inverse(M), V, M, J, inverse(M), V. + +Its dirty-scratch cancellation argument only requires the mixer to be a fixed +invertible word and its clean signal map to give the required injection. The +new controls preserve those properties. This argument is supplemented by +independent serialized replay on **every** input and dirty basis vector for +both h=23 and h=25 and both orientations; see `selected-replay-*.json`. + +Frame preparation independently reconstructs every transition from the actual +XOR list, checks it against the auxiliary event log, and checks every inclusion. +All frames remain the inherited original-envelope projectors. Consequently +the same fixed-I+J formulas and bounded-minor/CRT argument apply without a new +projector formula or denominator bound. The ranked/global profiles use 6,049 +and 7,997 CRT-checked matrices and report zero modular disagreements. + +Neither W nor total rank changes. The actual fixed-basis child profiles change +because different clearing expressions promote different slots at different +points. This is the source of the finite moment improvement; counting roles +alone misses it. + +## The selected finite profile improves every concave power + +There is also an exact comparison independent of the selected parameter grid. +Let d_t be the selected child multiplicity minus PR #63's pinned multiplicity. +The integer certificate `concavity-screen.json` checks + + sum(t*d_t) = 0, + C_k = sum(min(t,k)*d_t) <= 0 for every integer 1 <= k <= 529, + +with a strict inequality for some k. Its smallest C_k is -619850. The source +profile is pinned to PR #63 commit `aa7701b68540b7863d3b66a414e4319915d6282d` +in `comparison-pr63.json`. For any f with f(0)=0 and decreasing discrete +increments, the identity + + sum(d_t*f(t)) = sum_(k=1..528) (2*f(k)-f(k-1)-f(k+1))*C_k + +holds because the linear mass term vanishes. For f(t)=t^(1-a), 01 for b in blocks) + def new(g): + s=len(slots);slots.append(0);frames.append(g);hist[blocks[g]['rank']]+=1;events.append((s,-1,g));return s + def raise_(s,g): + old=frames[s];assert contains(blocks[old]['frame'],blocks[g]['frame']);hist[blocks[g]['rank']-blocks[old]['rank']]+=1;frames[s]=g;events.append((s,old,g)) + def xor(a,b,g): + assert a!=b;raise_(a,g);raise_(b,g);slots[a]^=slots[b];ops.append((a,b,g)) + def acquire(g,anchors): + if reclaim: + bb={} + def ins(s): + row=slots[s];expr=1<>s&1;e^=1<>i&1) + if j!=i: + # Synthesize swap as three XORs at the single common frame. + for a,z in ((i,j),(j,i),(i,j)):rr[a]^=rr[z];elim.append((a,z)) + for j in range(len(ins)): + if j!=i and rr[j]>>i&1:rr[j]^=rr[i];elim.append((j,i)) + assert rr==[1<>i&1:xor(s,value_slots[y],g) + assert slots[s]==signal[x];value_slots[x]=s + used=set() + for u in outuses: + x=uses[u][0];s=value_slots[x] + if x in used: + ss=acquire(g,list(value_slots.values()));xor(ss,s,g);s=ss + used.add(x);assert u not in assign;assign[u]=s;assert s not in pending;pending[s]=uses[u][1] + if step%5000==0:print('compile',h,step,len(slots),'reclaimed',stats['reclaimed'],'seconds',time.time()-t0,flush=True,file=sys.stderr) + output_slots=[];output_records=[];scatter=[0]*v;J=[] + for u,(x,g,target)in enumerate(uses): + if target is None:continue + s=assign[u];assert slots[s]==signal[x];raise_(s,g);output_slots.append(s) + common,triple=target;output_records.append((s,g,common,triple)) + targets=[i for i,t in enumerate(c.inputs)if common in t]if len(triple)==1 else[c.inputs.index(triple)] + for i in targets:scatter[i]^=slots[s];J.append((v+i,2*v+s)) + rank=blocks[g]['rank'] + if len(triple)==1:hist[rank]+=1;hist[h-rank]+=1 + else:hist[h-1-rank]+=1;hist[1]+=1 + assert len(set(output_slots))==len(output_slots) + for s in retired:hist[h-blocks[frames[s]]['rank']]+=1 + assert len(retired)+len(output_slots)==len(slots) + assert scatter==[1<= j+1 proves persistence.", + "common_cutoff": 14000000000000000000, + "cutoff_log2_input": { + "alpha": 6052840001, + "compact": 24211360001, + "geometry": 3999931448313381309, + "guard": 4317836, + "log_p": 25, + "normalization": 14000000000000000000, + "period": 48422720001, + "phase_cell": 19, + "reservoir": 14, + "stopped_leaf": 252 + }, + "power_checkpoints": [ + { + "log2_input": 14000000000000000000, + "powers": { + "alpha": { + "exponent": 719794344473007, + "rhs": 112000000000000155664, + "rhs_bits": 67 + }, + "compact": { + "exponent": 719794344473007, + "rhs": 448000000000000622592, + "rhs_bits": 69 + }, + "leaf": { + "exponent": 666666666666666666, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 719794344473007, + "rhs": 224000000000000311256, + "rhs_bits": 68 + }, + "rows": { + "exponent": 719794344473007, + "rhs": 112000000000000155664000, + "rhs_bits": 77 + } + } + }, + { + "log2_input": 28000000000000000000, + "powers": { + "alpha": { + "exponent": 1439588688946015, + "rhs": 224000000000000155664, + "rhs_bits": 68 + }, + "compact": { + "exponent": 1439588688946015, + "rhs": 896000000000000622592, + "rhs_bits": 70 + }, + "leaf": { + "exponent": 1333333333333333333, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 1439588688946015, + "rhs": 448000000000000311256, + "rhs_bits": 69 + }, + "rows": { + "exponent": 1439588688946015, + "rhs": 224000000000000155664000, + "rhs_bits": 78 + } + } + }, + { + "log2_input": 56000000000000000000, + "powers": { + "alpha": { + "exponent": 2879177377892030, + "rhs": 448000000000000155664, + "rhs_bits": 69 + }, + "compact": { + "exponent": 2879177377892030, + "rhs": 1792000000000000622592, + "rhs_bits": 71 + }, + "leaf": { + "exponent": 2666666666666666666, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 2879177377892030, + "rhs": 896000000000000311256, + "rhs_bits": 70 + }, + "rows": { + "exponent": 2879177377892030, + "rhs": 448000000000000155664000, + "rhs_bits": 79 + } + } + }, + { + "log2_input": 112000000000000000000, + "powers": { + "alpha": { + "exponent": 5758354755784061, + "rhs": 896000000000000155664, + "rhs_bits": 70 + }, + "compact": { + "exponent": 5758354755784061, + "rhs": 3584000000000000622592, + "rhs_bits": 72 + }, + "leaf": { + "exponent": 5333333333333333333, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 5758354755784061, + "rhs": 1792000000000000311256, + "rhs_bits": 71 + }, + "rows": { + "exponent": 5758354755784061, + "rhs": 896000000000000155664000, + "rhs_bits": 80 + } + } + }, + { + "log2_input": 224000000000000000000, + "powers": { + "alpha": { + "exponent": 11516709511568123, + "rhs": 1792000000000000155664, + "rhs_bits": 71 + }, + "compact": { + "exponent": 11516709511568123, + "rhs": 7168000000000000622592, + "rhs_bits": 73 + }, + "leaf": { + "exponent": 10666666666666666666, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 11516709511568123, + "rhs": 3584000000000000311256, + "rhs_bits": 72 + }, + "rows": { + "exponent": 11516709511568123, + "rhs": 1792000000000000155664000, + "rhs_bits": 81 + } + } + }, + { + "log2_input": 448000000000000000000, + "powers": { + "alpha": { + "exponent": 23033419023136246, + "rhs": 3584000000000000155664, + "rhs_bits": 72 + }, + "compact": { + "exponent": 23033419023136246, + "rhs": 14336000000000000622592, + "rhs_bits": 74 + }, + "leaf": { + "exponent": 21333333333333333333, + "rhs": 3136, + "rhs_bits": 12 + }, + "period": { + "exponent": 23033419023136246, + "rhs": 7168000000000000311256, + "rhs_bits": 73 + }, + "rows": { + "exponent": 23033419023136246, + "rhs": 3584000000000000155664000, + "rhs_bits": 82 + } + } + } + ], + "practical_runtime_claim": false + }, + "kappa": "25707323052097/500000000000000000", + "next_kappa": "10282929220839/200000000000000000", + "next_kappa_rejection": "{'g3_above_kappa': '-822290967709437685855612817028489/947018387584948814393842012708890250000000000000000', 'g5_above_kappa': '-2989818063136524034930701198480993/6060917680543672412120588881336897600000000000000000'}" + }, + "rejected_moment": { + "degree": 8, + "lower": "33768916250000000010022095404584149100145740282531/33768916250000000000000000000000000000000000000000", + "rounding_denominator": 10000000000000000000000000000000000000000, + "saving": "51417289705949/1000000000000000000", + "strict_gap": "-1252761925573018854569429712673/4221114531250000000000000000000000000000000000000", + "terms": { + "1": { + "exp_lower": "10003267778655445106790722302765419144453/10000000000000000000000000000000000000000", + "exp_upper": "2000653555731089021358144460553083931993/2000000000000000000000000000000000000000", + "log_lower": "3177185020398675220004135749131/500000000000000000000000000000", + "log_upper": "6354370040797350440008271498263/1000000000000000000000000000000", + "weight": "77725846/3376891625" + }, + "10": { + "exp_lower": "10002083535030640392531679990230827409983/10000000000000000000000000000000000000000", + "exp_upper": "2000416707006128078506335998046165584857/2000000000000000000000000000000000000000", + "log_lower": "2025892473901652377995140021789/500000000000000000000000000000", + "log_upper": "4051784947803304755990280043579/1000000000000000000000000000000", + "weight": "146692/135075665" + }, + "11": { + "exp_lower": "312563578719653801492982787854331371607/312500000000000000000000000000000000000", + "exp_upper": "10002034519028921647775449211338604405719/10000000000000000000000000000000000000000", + "log_lower": "3956474767998979895946327920297/1000000000000000000000000000000", + "log_upper": "1978237383999489947973163960149/500000000000000000000000000000", + "weight": "3415709/3376891625" + }, + "12": { + "exp_lower": "312562180347969491295131019477506502967/312500000000000000000000000000000000000", + "exp_upper": "10001989771135023721444192623280208609233/10000000000000000000000000000000000000000", + "log_lower": "3869463391009350129778562018423/1000000000000000000000000000000", + "log_upper": "483682923876168766222320252303/125000000000000000000000000000", + "weight": "2885736/3376891625" + }, + "13": { + "exp_lower": "250048715180994423722847155302605928823/250000000000000000000000000000000000000", + "exp_upper": "5000974303619888474456943106052118833603/5000000000000000000000000000000000000000", + "log_lower": "3789420683335813703954784056697/1000000000000000000000000000000", + "log_upper": "1894710341667906851977392028349/500000000000000000000000000000", + "weight": "2566343/3376891625" + }, + "14": { + "exp_lower": "10001910495576616867647870788206156289007/10000000000000000000000000000000000000000", + "exp_upper": "1250238811947077108455983848525769600411/1250000000000000000000000000000000000000", + "log_lower": "3715312711182091825485686633361/1000000000000000000000000000000", + "log_upper": "1857656355591045912742843316681/500000000000000000000000000000", + "weight": "2017778/3376891625" + }, + "15": { + "exp_lower": "5000937507298799262977531218477536343733/5000000000000000000000000000000000000000", + "exp_upper": "625117188412349907872191402309692075109/625000000000000000000000000000000000000", + "log_lower": "3646319839695140374012266928113/1000000000000000000000000000000", + "log_upper": "1823159919847570187006133464057/500000000000000000000000000000", + "weight": "345738/675378325" + }, + "16": { + "exp_lower": "10001841824472241665399768197052194639411/10000000000000000000000000000000000000000", + "exp_upper": "10001841824472241665399768197052195153687/10000000000000000000000000000000000000000", + "log_lower": "3581781318557569202339343012429/1000000000000000000000000000000", + "log_upper": "358178131855756920233934301243/100000000000000000000000000000", + "weight": "1072944/3376891625" + }, + "17": { + "exp_lower": "2000362129448430252012945516154011194071/2000000000000000000000000000000000000000", + "exp_upper": "2500452661810537815016181895192514121157/2500000000000000000000000000000000000000", + "log_lower": "3521156696741134359758736880389/1000000000000000000000000000000", + "log_upper": "352115669674113435975873688039/100000000000000000000000000000", + "weight": "1377986/675378325" + }, + "18": { + "exp_lower": "2000356250531348677044626743436098790769/2000000000000000000000000000000000000000", + "exp_upper": "2500445313164185846305783429295123617029/2500000000000000000000000000000000000000", + "log_lower": "3463998282901185747800548902959/1000000000000000000000000000000", + "log_upper": "43299978536264821847506861287/12500000000000000000000000000", + "weight": "447606/3376891625" + }, + "19": { + "exp_lower": "10001753447843730922769540497100952395327/10000000000000000000000000000000000000000", + "exp_upper": "2500438361960932730692385124275238227399/2500000000000000000000000000000000000000", + "log_lower": "1704965530815454989999622033187/500000000000000000000000000000", + "log_upper": "27279448493047279839993952531/8000000000000000000000000000", + "weight": "255569/3376891625" + }, + "2": { + "exp_lower": "5001455635525837099027147878050810091981/5000000000000000000000000000000000000000", + "exp_upper": "10002911271051674198054295756101620698699/10000000000000000000000000000000000000000", + "log_lower": "1415305715059351282647759844201/250000000000000000000000000000", + "log_upper": "1132244572047481026118207875361/200000000000000000000000000000", + "weight": "8542426/3376891625" + }, + "20": { + "exp_lower": "10001727069632263391270081525057406972681/10000000000000000000000000000000000000000", + "exp_upper": "10001727069632263391270081525057407486947/10000000000000000000000000000000000000000", + "log_lower": "83965944181083986164326198053/25000000000000000000000000000", + "log_upper": "3358637767243359446573047922121/1000000000000000000000000000000", + "weight": "14476/675378325" + }, + "21": { + "exp_lower": "10001701978751049559741097025770056308617/10000000000000000000000000000000000000000", + "exp_upper": "10001701978751049559741097025770056822881/10000000000000000000000000000000000000000", + "log_lower": "413730950384240930438459189737/125000000000000000000000000000", + "log_upper": "3309847603073927443507673517897/1000000000000000000000000000000", + "weight": "14945721/3376891625" + }, + "23": { + "exp_lower": "10001655195676669869696546755559759526491/10000000000000000000000000000000000000000", + "exp_upper": "625103449729791866856034172222485002547/625000000000000000000000000000000000000", + "log_lower": "804718956217050187300379666613/250000000000000000000000000000", + "log_upper": "3218875824868200749201518666453/1000000000000000000000000000000", + "weight": "24813/1174571" + }, + "25": { + "exp_lower": "10001612316108909947800937936092361032443/10000000000000000000000000000000000000000", + "exp_upper": "5000806158054454973900468968046180773351/5000000000000000000000000000000000000000", + "log_lower": "313549421592914969080675283181/100000000000000000000000000000", + "log_upper": "3135494215929149690806752831811/1000000000000000000000000000000", + "weight": "554631/27015133" + }, + "3": { + "exp_lower": "2000540546672448081230698924320354215411/2000000000000000000000000000000000000000", + "exp_upper": "500135136668112020307674731080088579579/500000000000000000000000000000000000000", + "log_lower": "262787887606462037430651313067/50000000000000000000000000000", + "log_upper": "5255757752129240748613026261341/1000000000000000000000000000000", + "weight": "4824477/3376891625" + }, + "4": { + "exp_lower": "10002554776153518530136570780570940852327/10000000000000000000000000000000000000000", + "exp_upper": "250063869403837963253414269514273534169/250000000000000000000000000000000000000", + "log_lower": "2484037839838729910586903627673/500000000000000000000000000000", + "log_upper": "4968075679677459821173807255347/1000000000000000000000000000000", + "weight": "200812/146821375" + }, + "481": { + "exp_lower": "1000009178170793115863449932118267045899/1000000000000000000000000000000000000000", + "exp_upper": "10000091781707931158634499321182670973169/10000000000000000000000000000000000000000", + "log_lower": "35700554138317851917337677133/200000000000000000000000000000", + "log_upper": "89251385345794629793344192833/500000000000000000000000000000", + "weight": "296296/5872855" + }, + "5": { + "exp_lower": "1000244001313358125115777929404069675659/1000000000000000000000000000000000000000", + "exp_upper": "5001220006566790625578889647020348635487/5000000000000000000000000000000000000000", + "log_lower": "1186233032090812516351878041259/250000000000000000000000000000", + "log_upper": "4744932128363250065407512165037/1000000000000000000000000000000", + "weight": "852498/675378325" + }, + "525": { + "exp_lower": "2500011693833036733901012916854838034773/2500000000000000000000000000000000000000", + "exp_upper": "10000046775332146935604051667419352653269/10000000000000000000000000000000000000000", + "log_lower": "22742944551431673576538712861/250000000000000000000000000000", + "log_upper": "18194355641145338861230970289/200000000000000000000000000000", + "weight": "11647251/27015133" + }, + "529": { + "exp_lower": "10000042872655332639439754288243415079783/10000000000000000000000000000000000000000", + "exp_upper": "250001071816383315985993857206085389849/250000000000000000000000000000000000000", + "log_lower": "41690804469525529197382917321/500000000000000000000000000000", + "log_upper": "83381608939051058394765834643/1000000000000000000000000000000", + "weight": "505172/1174571" + }, + "6": { + "exp_lower": "10002346245896183288531298062561787000253/10000000000000000000000000000000000000000", + "exp_upper": "10002346245896183288531298062561787514607/10000000000000000000000000000000000000000", + "log_lower": "4562610571569295439195794139881/1000000000000000000000000000000", + "log_upper": "2281305285784647719597897069941/500000000000000000000000000000", + "weight": "4623474/3376891625" + }, + "7": { + "exp_lower": "2500566741878091263012227018387188047879/2500000000000000000000000000000000000000", + "exp_upper": "200045339350247301040978161470975054117/200000000000000000000000000000000000000", + "log_lower": "4408459891742037134902918754819/1000000000000000000000000000000", + "log_upper": "220422994587101856745145937741/50000000000000000000000000000", + "weight": "39046/29364275" + }, + "8": { + "exp_lower": "1000219829396052528616368495818770588647/1000000000000000000000000000000000000000", + "exp_upper": "10002198293960525286163684958187706400789/10000000000000000000000000000000000000000", + "log_lower": "66795757798711164246196486467/15625000000000000000000000000", + "log_upper": "4274928499117514511756575133889/1000000000000000000000000000000", + "weight": "4435944/3376891625" + }, + "9": { + "exp_lower": "1250267214998278026507565978807412603539/1250000000000000000000000000000000000000", + "exp_upper": "10002137719986224212060527830459301342621/10000000000000000000000000000000000000000", + "log_lower": "4157145463461131057217781024417/1000000000000000000000000000000", + "log_upper": "2078572731730565528608890512209/500000000000000000000000000000", + "weight": "4009671/3376891625" + } + }, + "upper": "4221114531250000001252761925573018854569429712673/4221114531250000000000000000000000000000000000000" + }, + "scope": "Source closure, paid-profile reconstruction and exact arithmetic verified; all-size compiler/tape/analytic interfaces remain conditional.", + "source_lock": { + "baseline_commit": "1bef94fd40a746452548c84a4a8f8834670a3113", + "files": { + "baseline/certificates/split-pair-kappa.json": "0fcb53fa374273efab6370953c966e8fa065dbfdba43691843a4788cb2cda42e", + "baseline/research/split-pair/SOURCE.json": "9d5a4a7c4cf459f4c5731809de93cfb4b873cb8c9ea95a1be9239733a9a93c72", + "refine_parameters.py": "a20bb0eacb9add2ad4d71c6b8aa95bbc8e033a304c238511598ee1f06409cfb9" + } + }, + "status": "PASS exact arithmetic refinement; unchanged PR71 physical construction" +} diff --git a/research/round6-pr71/parameter-source-lock.json b/research/round6-pr71/parameter-source-lock.json new file mode 100644 index 0000000000..a29501fda1 --- /dev/null +++ b/research/round6-pr71/parameter-source-lock.json @@ -0,0 +1,8 @@ +{ + "baseline_commit": "1bef94fd40a746452548c84a4a8f8834670a3113", + "files": { + "baseline/certificates/split-pair-kappa.json": "0fcb53fa374273efab6370953c966e8fa065dbfdba43691843a4788cb2cda42e", + "baseline/research/split-pair/SOURCE.json": "9d5a4a7c4cf459f4c5731809de93cfb4b873cb8c9ea95a1be9239733a9a93c72", + "refine_parameters.py": "a20bb0eacb9add2ad4d71c6b8aa95bbc8e033a304c238511598ee1f06409cfb9" + } +} diff --git a/research/round6-pr71/refine_parameters.py b/research/round6-pr71/refine_parameters.py new file mode 100644 index 0000000000..30310f87f0 --- /dev/null +++ b/research/round6-pr71/refine_parameters.py @@ -0,0 +1,68 @@ +#!/usr/bin/env python3 +"""Exact positive-backoff refinement of immutable PR71. + +PR71 graph, next-use score and package: Chafik Boukhalfa; prior PR65/67 +arithmetic: Rohan Arun; parameter refinement precedent: Alejandro Zarzuelo +Urdiales PR61. Dominik Scholz, with substantial OpenAI GPT-6 Astra assistance. +Apache-2.0; inherited notices and conditional theorem interfaces apply. +""" +import sys +if sys.flags.optimize: + raise ValueError('Assertions must remain enabled') +sys.dont_write_bytecode=True +from fractions import Fraction as Q +from hashlib import sha256 +import json +from pathlib import Path + +HERE=Path(__file__).resolve().parent +BASE=HERE/'baseline' +PIN='1bef94fd40a746452548c84a4a8f8834670a3113' +sys.path.insert(0,str(BASE/'scripts/experiments')) +import split_pair_compose as inherited +import binary_frame_math as arithmetic + + +def main(): + # This validates the full original source/finite-input closure, including + # exact predecessor archives and original generator/configuration hashes. + sources=inherited.check_sources() + physical=inherited.profile() + original=json.loads((BASE/'certificates/split-pair-kappa.json').read_text()) + for name,value in arithmetic.js(physical).items(): + assert value==original['bit'][name],name+' differs from pinned complete profile' + ab=Q(original['bit_saving']);old=Q(original['kappa']) + assert ab==Q(12854322426487,250000000000000000) + assert old==Q(51414646104039,10**18) + rows=physical['child_multiplicities'];scale=10**18 + accepted=inherited.refine.exact_moment(575,physical['W'],rows,ab) + rejected=inherited.refine.exact_moment(575,physical['W'],rows,ab+Q(1,scale)) + assert accepted['upper']<11 for b in blocks) ++ slots=[];frames=[];ops=[];events=[];hist=Counter();assign={};sources={};retired=set();pending={};stats['regions']=len(blocks);stats['matched']=len(chosen);stats['multi_node_regions']=sum(len(b['nodes'])>1 for b in blocks) + def new(g): + s=len(slots);slots.append(0);frames.append(g);hist[blocks[g]['rank']]+=1;events.append((s,-1,g));return s + def raise_(s,g): +@@ -149,7 +151,8 @@ + return cache[a,b] + def profile_cost(a,g): + old=frames[a]+2;target=g+2 +- return profile_entropy(old,1)-profile_entropy(old,target)-profile_entropy(target,1) ++ endpoint=pending[a]+2 if PENDING_COST and a in pending else 1 ++ return profile_entropy(old,endpoint)-profile_entropy(old,target)-profile_entropy(target,endpoint) + def acquire(g,anchors): + if reclaim: + bb={} +@@ -161,6 +164,9 @@ + old,e=bb[p];row^=old;expr^=e + return expr + for s in anchors:ins(s) ++ for s,target in pending.items(): ++ if contains(blocks[frames[s]]['frame'],blocks[g]['frame']) and contains(blocks[g]['frame'],blocks[target]['frame']): ++ ins(s);stats['live_anchor_candidates']+=1 + best=None + # Inspect every eligible dependent candidate across all retired ranks. + # Rank the actual fixed-basis growth/cleanup profiles by an integer entropy score. +@@ -176,7 +182,9 @@ + if best is None or key 1 and kappa > previous_kappa + bridge = json.loads((OLD/'certificate.json').read_text())['finite_bridge'] + bridge['bit']['W'] = p['W'] + assert p['W'].bit_length() == bridge['bit']['wire_bits'] + assembled = refine.assemble(bridge, bit_saving, Q(1, 10**12), denominator) + assert assembled['kappa'] == kappa + assert all(value > 0 for value in assembled['assembly']['constraints'].values()) + assert all(value > kappa for value in assembled['assembly']['margins'].values()) + coarse_denominator = 10**11 + coarse_bit = Q(refine.floor_scaled(bit_saving, coarse_denominator), coarse_denominator) + coarse = refine.assemble(bridge, coarse_bit, Q(1, 10**12), coarse_denominator) + assert arithmetic.moment(p['m'], p['W'], p['child_multiplicities'], coarse_bit)['upper'] < 1 + result = dict( + status='Finite conditional physical witness and exact balanced assembly; inherited transfer hypotheses remain assumed', + source_manifest_sha256=sha256((ROOT/'research/split-pair/SOURCE.json').read_bytes()).hexdigest(), + kappa=kappa, bit_saving=bit_saving, bit_saving_excluded_above=bit_saving+grid, + grid_denominator=denominator, bit=dict(p, moment=exact, excluded_moment=excluded), + independent_enclosures=dict(accepted_lower=independent[0], accepted_upper=independent[1], + rejected_lower=independent_rejected[0], rejected_upper=independent_rejected[1]), + assembly=assembled['assembly'], eventual_bounds=assembled['eventual_bounds'], finite_bridge=bridge, + next_kappa=assembled['next_kappa'], next_kappa_rejection=assembled['next_kappa_rejection'], + coarse_grid_control=dict(bit_saving=coarse_bit, **coarse), + comparison=dict(pr67_commit='b3745601e947a94316bf25c2c6263d93c06e3364', + pr67_kappa=previous_kappa, ratio_pr67=kappa/previous_kappa, + absolute_gain_pr67=kappa-previous_kappa, + pr67_complete_profile_exclusion_lower=prior65_lower, + full_pr67_child_list_excluded_at_new_bit_saving=True), + exactness=[arithmetic.exactness(h) for h in (23,25)], sources=sources, + dependencies=dict( + data_profile='Unchanged inherited all-pairs data profile: 9 singletons +21+17+481; ten exact rational recoveries', + producer='PR62/63 interval pair assembly, selected split-pair partition and point permutation, PR65 schedules, PR67 profile-cost reclamation, PR68 pending live controls and selected next-use scoring; complete literal words', + geometry='Unchanged fixed-I+J original-envelope projector and CRT formulas', + proof_scope='Ordered affine residual compiler, all-size recursion, finite scalar overhead, routing, prime selection, exact recovery and fixed-tape/analytic transfer remain inherited. Arithmetic cutoffs are not full operational thresholds.')) + (OUT/'split-pair-kappa.json').write_text(json.dumps(arithmetic.js(result), indent=2, sort_keys=True)+'\n') + print('PASS finite conditional kappa='+str(kappa)+'; bit saving='+str(bit_saving), flush=True) + return result + + +if __name__ == '__main__': + compose() diff --git a/scripts/experiments/split_pair_engine.py b/scripts/experiments/split_pair_engine.py new file mode 100644 index 0000000000..1290ef2eb8 --- /dev/null +++ b/scripts/experiments/split_pair_engine.py @@ -0,0 +1,275 @@ +# Composition of PR67 profile-cost reclamation and PR68 pending live controls. +# Next-use transition scoring added by Chafik Boukhalfa with OpenAI Codex assistance. +# All-rank profile-cost selection: Rohan Arun, with OpenAI Codex assistance. +# Derived from Dominik Scholz PR63, Chafik Boukhalfa PR60, Avi Eisenberg PR62 +# and eumemic PR57. Apache-2.0; all inherited notices remain applicable. +"""Exact-envelope block synthesis on the pinned PR48 scalar graph. +Experimental finite compiler; no fixed-I+J profile or multiplication claim. +""" +# Derived from eumemic's PR57 compiler; original notices remain applicable. +# Descending-rank reclamation priority: Chafik Boukhalfa, with OpenAI Codex assistance. +import sys +if sys.flags.optimize: + raise ValueError('Assertions must remain enabled') +sys.dont_write_bytecode=True +from pathlib import Path +ROOT=Path(__file__).resolve().parents[2]/'references/frame-compiler/pr48' +from hashlib import sha256 +import json +manifest=json.loads((ROOT/'SOURCE.json').read_text()) +for name,digest in manifest['files'].items(): + assert sha256((ROOT/name).read_bytes()).hexdigest()==digest, 'Changed producer source: '+name +sys.path[:0]=[str(ROOT/'scripts'),str(ROOT/'research/copied-fixed')] +from changed_graph import graph +from collections import defaultdict,Counter,deque +import argparse,json,time,struct + +def independent(rows,vec): + for row in rows: + vec=min(vec,vec^row) + return bool(vec) +def basis(rows): + out=[] + for vec in rows: + for row in out:vec=min(vec,vec^row) + if vec:out.append(vec) + return out + +def build(h): + c=graph(h);groups={};owner={};signal={};blocks=[] + for x in sorted(c.active): + key=(c.core[x],c.union[x]) + if key not in groups: + groups[key]=len(blocks);blocks.append(dict(nodes=[],frame=key,inputs=set(),uses=[])) + g=groups[key];owner[x]=g;blocks[g]['nodes'].append(x) + signal[x]=(signal[c.args[x][0]]^signal[c.args[x][1]])if c.args[x]else 1<<(x-1) + for x in sorted(c.active): + for y in c.args[x]or(): + if owner[y]!=owner[x]:blocks[owner[x]]['inputs'].add(y) + uses=[];value_uses=defaultdict(list) + for g,b in enumerate(blocks): + b['inputs']=sorted(b['inputs']);b['source']=not c.args[b['nodes'][0]] + for y in b['inputs']: + k=len(uses);uses.append((y,g,None));value_uses[y].append(k);blocks[owner[y]]['uses'].append(k) + for target,x in c.outputs.items(): + k=len(uses);uses.append((x,owner[x],target));value_uses[x].append(k);blocks[owner[x]]['uses'].append(k) + for g,b in enumerate(blocks): + b['rank']=1 if b['source']else b['frame'][1].bit_count()-b['frame'][0].bit_count() + order=sorted(range(len(blocks)),key=lambda g:(blocks[g]['rank'],min(blocks[g]['nodes']))) + place={g:i for i,g in enumerate(order)} + def contained(a,b):return not(b[0]&~a[0])and not(a[1]&~b[1]) + for g,b in enumerate(blocks): + coeff={y:1<1 for b in blocks) + def new(g): + s=len(slots);slots.append(0);frames.append(g);hist[blocks[g]['rank']]+=1;events.append((s,-1,g));return s + def raise_(s,g): + old=frames[s];assert contains(blocks[old]['frame'],blocks[g]['frame']);hist[blocks[g]['rank']-blocks[old]['rank']]+=1;frames[s]=g;events.append((s,old,g)) + def xor(a,b,g): + assert a!=b;raise_(a,g);raise_(b,g);slots[a]^=slots[b];ops.append((a,b,g)) + import subprocess,struct + from binary_frame_math import logs + # Integer midpoint enclosures give a reproducible discovery score. + # Every candidate is independently checked by the complete exact screen. + weights=[0]+[int(t*sum(logs(t))*10**30//2) for t in range(1,h+1)] + oracle_input=Path(ORACLE_INPUT) + with oracle_input.open('wb') as stream: + stream.write(struct.pack('<6I2Q',h,v,0,len(blocks)+2,0,0,h*(h-1),h*(h-1))) + stream.write(struct.pack('<2QI',0,0,0));stream.write(struct.pack('<2QI',0,0,h)) + for b in blocks:stream.write(struct.pack('<2QI',*b['frame'],b['rank'])) + oracle=subprocess.Popen([ORACLE_EXE,str(oracle_input)],stdin=subprocess.PIPE,stdout=subprocess.PIPE,text=True,bufsize=1) + oracles.append(oracle) + cache={} + def profile_entropy(a,b): + if (a,b) not in cache: + oracle.stdin.write(f'{a} {b}\n');oracle.stdin.flush() + answer=oracle.stdout.readline() + assert answer, 'profile oracle failed' + parts=list(map(int,answer.split()));assert len(parts)==h+1 + cache[a,b]=sum(n*w for n,w in zip(parts,weights)) + return cache[a,b] + def profile_cost(a,g): + old=frames[a]+2;target=g+2 + endpoint=pending[a]+2 if PENDING_COST and a in pending else 1 + return profile_entropy(old,endpoint)-profile_entropy(old,target)-profile_entropy(target,endpoint) + def acquire(g,anchors): + if reclaim: + bb={} + def ins(s): + row=slots[s];expr=1<>s&1;e^=1<>i&1) + if j!=i: + # Synthesize swap as three XORs at the single common frame. + for a,z in ((i,j),(j,i),(i,j)):rr[a]^=rr[z];elim.append((a,z)) + for j in range(len(ins)): + if j!=i and rr[j]>>i&1:rr[j]^=rr[i];elim.append((j,i)) + assert rr==[1<>i&1:xor(s,value_slots[y],g) + assert slots[s]==signal[x];value_slots[x]=s + used=set() + for u in outuses: + x=uses[u][0];s=value_slots[x] + if x in used: + ss=acquire(g,list(value_slots.values()));xor(ss,s,g);s=ss + used.add(x);assert u not in assign;assign[u]=s;assert s not in pending;pending[s]=uses[u][1] + if step%5000==0:print('compile',h,step,len(slots),'reclaimed',stats['reclaimed'],'seconds',time.time()-t0,flush=True,file=sys.stderr) + output_slots=[];output_records=[];scatter=[0]*v;J=[] + for u,(x,g,target)in enumerate(uses): + if target is None:continue + s=assign[u];assert slots[s]==signal[x];raise_(s,g);output_slots.append(s) + common,triple=target;output_records.append((s,g,common,triple)) + targets=[i for i,t in enumerate(c.inputs)if common in t]if len(triple)==1 else[c.inputs.index(triple)] + for i in targets:scatter[i]^=slots[s];J.append((v+i,2*v+s)) + rank=blocks[g]['rank'] + if len(triple)==1:hist[rank]+=1;hist[h-rank]+=1 + else:hist[h-1-rank]+=1;hist[1]+=1 + assert len(set(output_slots))==len(output_slots) + for s in retired:hist[h-blocks[frames[s]]['rank']]+=1 + assert len(retired)+len(output_slots)==len(slots) + assert scatter==[1< 3 and choice: + index = {1: 0, 2: (len(groups)-1)//2, 3: len(groups)-1}[choice] + if len(groups[index]) == 2: + groups[index:index+1] = [[point] for point in groups[index]] + assert all(len(group) in (1, 2) for group in groups) + assert len(groups) < len(points) + assert sorted(point for group in groups for point in group) == sorted(points) + return groups + return SplitPair + + +def graph(h): + config = configuration(h) + original = _graph.circuit_class + previous_points = _graph.alternating_points + try: + _graph.circuit_class = lambda dimension: split_class(original(dimension), config['groups']) + if config['anchor']: + def anchored_points(dimension, common): + points = previous_points(dimension, common) + pairs = [(a, a+1) for a in range(0, dimension-1, 2) if common not in (a, a+1)] + chosen = min(pairs) + result = list(chosen) + [x for x in points if x not in chosen] + assert sorted(result) == [x for x in range(dimension) if x != common] + return result + _graph.alternating_points = anchored_points + return _graph.graph(h) + finally: + _graph.circuit_class = original + _graph.alternating_points = previous_points + + +def ordered_build(original, h): + mode = configuration(h)['schedule'] + if mode == 'original': + return original + return _schedule.reordered_build(original, mode) diff --git a/scripts/experiments/verify_split_pair.py b/scripts/experiments/verify_split_pair.py new file mode 100644 index 0000000000..7908c963a4 --- /dev/null +++ b/scripts/experiments/verify_split_pair.py @@ -0,0 +1,78 @@ +#!/usr/bin/env python3 +"""Replay the aligned split-pair/interval words with profile-cost pending live compilation and exact profiles. + +Every new XOR word, dirty basis column, frame incidence and fixed-basis +profile is checked. Unchanged data geometry and general transfer proofs +remain inherited dependencies; this is a finite conditional certificate. +""" +import sys +if sys.flags.optimize: + raise ValueError('Assertions must remain enabled') + +from hashlib import sha256 +from pathlib import Path +import json +import subprocess +import tempfile + +from binary_frame_profile_prepare import prepare +from binary_frame_replay import replay +from split_pair_compose import compose, check_sources +from split_pair_compiler import compile_axis + + +def verify(): + import sys + if sys.flags.optimize: + raise ValueError('Assertions must remain enabled') + check_sources() + here = Path(__file__).resolve().parent + root = here.parents[1] + certificates = root / 'certificates' + stored = json.loads((certificates / 'split-pair-compiler.json').read_text()) + axes = {} + with tempfile.TemporaryDirectory(prefix='split-pair-verify-') as directory: + work = Path(directory) + profiler = work / 'profiles' + subprocess.run([ + 'c++', '-O3', '-std=c++17', + '-I', str(root / 'references/frame-compiler/pr48/scripts/partial_swap'), + str(here / 'binary_frame_profiles.cpp'), '-o', str(profiler), + ], check=True) + for h in (23, 25): + word = certificates / f'split-pair-word-{h}.json.gz' + import gzip + compiled, regenerated = compile_axis(h) + assert json.loads(json.dumps(compiled)) == stored['axes'][str(h)]['compiled'], 'Regenerated compiler receipt differs' + regenerated_raw = (json.dumps(regenerated, separators=(',', ':'))+'\n').encode() + assert regenerated_raw == gzip.decompress(word.read_bytes()), 'Regenerated physical word differs' + receipt = replay(word) + assert json.loads(json.dumps(receipt)) == stored['axes'][str(h)]['replay'] + transitions = work / f'word{h}.bin' + prepared = prepare(word, transitions) + expected = json.loads((certificates / f'split-pair-transitions-{h}.json').read_text()) + assert json.loads(json.dumps(prepared)) == expected + subprocess.run([str(profiler), str(transitions)], check=True, capture_output=True, text=True) + profile = json.loads(Path(str(transitions)+'.profiles.json').read_text()) + expected = json.loads((certificates / f'split-pair-profiles-{h}.json').read_text()) + assert profile == expected + axes[str(h)] = dict(replay=receipt, transitions=prepared, profile=profile) + print(f'PASS h={h}: full dirty basis, exact frame path, every fixed-basis profile', flush=True) + result = compose() + assert len(result['assembly']['constraints']) == 47 + assert len(result['assembly']['margins']) == 7 + validation = dict( + status='PASS complete serialized-word replay, actual CRT profiles, exact recurrence and balanced assembly', + axes=axes, kappa=str(result['kappa']), bit_saving=str(result['bit_saving']), + strict_constraints=47, margins=7, + certificate_sha256=sha256((certificates / 'split-pair-kappa.json').read_bytes()).hexdigest(), + source_binding='Source manifests, inherited manifest digest, compiler receipt source, both word digests, and all local compiler/verifier sources are bound by the exact composition certificate.', + producer_words_regenerated_and_matched=True, + scope='Finite conditional witness; unchanged data geometry and general transfer proofs are inherited dependencies.') + (certificates / 'split-pair-validation.json').write_text(json.dumps(validation, indent=2, sort_keys=True)+'\n') + print('PASS exact recurrence, 47 strict inequalities, seven margins, eventual cutoffs', flush=True) + return result + + +if __name__ == '__main__': + verify() diff --git a/tests/test_split_pair.py b/tests/test_split_pair.py new file mode 100644 index 0000000000..5088cff133 --- /dev/null +++ b/tests/test_split_pair.py @@ -0,0 +1,238 @@ +"""Physical and exact-arithmetic controls for the aligned split/pair witness.""" +from copy import deepcopy +from fractions import Fraction +from itertools import combinations +from pathlib import Path +import gzip +import json +import subprocess +import sys +import tempfile +import unittest +from unittest.mock import patch + +ROOT = Path(__file__).resolve().parents[1] +EXPERIMENTS = ROOT/'scripts/experiments' +sys.path.insert(0, str(EXPERIMENTS)) +from binary_frame_profile_prepare import prepare +from binary_frame_replay import replay +from binary_frame_math import moment + + +class SplitPairControls(unittest.TestCase): + @classmethod + def setUpClass(cls): + cls.words = {h: json.loads(gzip.decompress((ROOT/f'certificates/split-pair-word-{h}.json.gz').read_bytes())) + for h in (23,25)} + + def reject_mutation(self, mutate, checker='both'): + for h, original in self.words.items(): + with self.subTest(h=h), tempfile.TemporaryDirectory() as directory: + changed = deepcopy(original) + mutate(changed) + path = Path(directory)/'word.json' + path.write_text(json.dumps(changed, separators=(',', ':'))+'\n') + with self.assertRaises((AssertionError, ValueError, IndexError, KeyError)): + if checker != 'transitions': + replay(path) + if checker != 'replay': + prepare(path, Path(directory)/'transitions.bin') + + def test_selected_words_pass_independent_replay(self): + recorded = json.loads((ROOT/'certificates/split-pair-compiler.json').read_text()) + for h in (23,25): + with self.subTest(h=h): + actual = replay(ROOT/f'certificates/split-pair-word-{h}.json.gz') + self.assertEqual(json.loads(json.dumps(actual)), recorded['axes'][str(h)]['replay']) + + def test_omitted_literal_xor_is_rejected(self): + self.reject_mutation(lambda word: word['ops'].pop(0)) + + def test_self_xor_is_rejected(self): + def mutate(word): + word['ops'][0][1] = word['ops'][0][0] + self.reject_mutation(mutate, 'replay') + + def test_non_nested_operation_frame_is_rejected(self): + def mutate(word): + narrow = next(i for i,(core,cover) in enumerate(word['frames']) if core == cover) + operation = next(op for op in word['ops'] if word['frames'][op[2]][0] != word['frames'][op[2]][1]) + operation[2] = narrow + self.reject_mutation(mutate) + + def test_aliased_terminal_role_is_rejected(self): + def mutate(word): + word['outputs'][1][0] = word['outputs'][0][0] + self.reject_mutation(mutate, 'replay') + + def test_missing_copied_center_is_rejected(self): + def mutate(word): + index = next(i for i,(_,_,_,target) in enumerate(word['outputs']) if len(target) == 1) + word['outputs'].pop(index) + self.reject_mutation(mutate) + + def test_omitted_transition_cannot_reduce_paid_profile(self): + self.reject_mutation(lambda word: word['events'].pop(0), 'transitions') + + def test_understated_physical_width_is_rejected(self): + def mutate(word): + word['R'] -= 1 + self.reject_mutation(mutate) + + def test_complete_pr67_profile_fails_new_bit_saving(self): + from split_pair_arithmetic import refine + previous = json.loads((ROOT/'references/frame-compiler/pr67/research/slot-cost-rank-pair/paired-candidate.json').read_text())['bit'] + current = json.loads((ROOT/'certificates/split-pair-kappa.json').read_text()) + result = refine.exact_moment(previous['m'], previous['W'], {int(t): n for t,n in previous['child_multiplicities'].items()}, Fraction(current['bit_saving'])) + self.assertGreater(result['lower'], 1) + self.assertGreater(Fraction(current['kappa']), Fraction(current['comparison']['pr67_kappa'])) + + def test_private_import_preserves_path_and_arithmetic_module(self): + import split_pair_graph as provider + import split_pair_arithmetic as arithmetic + sentinel = object() + existing = sys.modules.get('refine', sentinel) + previous_path = sys.path[:] + graph, schedule = provider._private_modules() + refine, audit = arithmetic.private_arithmetic() + self.assertIs(audit.refine, refine) + self.assertIs(sys.modules.get('refine', sentinel), existing) + self.assertEqual(sys.path, previous_path) + + def test_failed_graph_build_restores_original_providers(self): + import split_pair_graph as provider + previous_class, previous_points = provider._graph.circuit_class, provider._graph.alternating_points + with patch.object(provider._graph, 'graph', side_effect=RuntimeError('deliberate graph failure')): + with self.assertRaises(RuntimeError): + provider.graph(23) + self.assertIs(provider._graph.circuit_class, previous_class) + self.assertIs(provider._graph.alternating_points, previous_points) + + def test_failed_compilation_restores_engine_graph_and_schedule(self): + import split_pair_compiler as producer + previous_graph, previous_build = producer.compiler.graph, producer.compiler.build + missing = object() + runtime = {name:getattr(producer.compiler,name,missing) for name in ('PENDING_COST','ORACLE_EXE','ORACLE_INPUT','oracles')} + with patch.object(producer.compiler, 'compile_', side_effect=RuntimeError('deliberate compiler failure')): + with self.assertRaises(RuntimeError): + producer.compile_axis(23) + self.assertIs(producer.compiler.graph, previous_graph) + self.assertIs(producer.compiler.build, previous_build) + for name,value in runtime.items(): + self.assertIs(getattr(producer.compiler,name,missing),value) + + def test_uncertified_configurations_are_rejected(self): + import split_pair_graph as provider + wrong_anchor = deepcopy(provider.EXPECTED_CONFIGS[23]); wrong_anchor['anchor'] = False + boolean_group = deepcopy(provider.EXPECTED_CONFIGS[23]); boolean_group['groups'][0] = True + changed_schedule = deepcopy(provider.EXPECTED_CONFIGS[23]); changed_schedule['schedule'] = 'reverse-node' + for changed in (wrong_anchor, boolean_group, changed_schedule): + with self.subTest(configuration=changed), patch.object(provider.json, 'loads', return_value=changed): + with self.assertRaises(ValueError): + provider.configuration(23) + for dimension in (True, 22, 24, '23'): + with self.subTest(dimension=dimension), self.assertRaises(ValueError): + provider.configuration(dimension) + + def test_recursive_weighted_exclusions_and_contraction(self): + import split_pair_graph as provider + for h in (23,25): + block_sizes = [] + parent = provider._graph.circuit_class(h) + selected = provider.split_class(parent, provider.configuration(h)['groups']) + case = self + class Audited(selected): + def grouping(self, points): + groups = super().grouping(points) + case.assertEqual([x for group in groups for x in group], list(points)) + case.assertLess(len(groups), len(points)) + return groups + + def _block(self, points, edges, weights, level): + def expected(omitted): + values = [value for pair,value in edges.items() if not set(pair) & omitted] + values += [value for point,value in weights.items() if point not in omitted] + support = 0 + for value in values: + case.assertEqual(support & self.support[value], 0) + support |= self.support[value] + return support + total, single, pairs = super()._block(points, edges, weights, level) + case.assertEqual(self.support[total], expected(set())) + case.assertEqual(set(single), set(points)) + for a in points: + case.assertEqual(self.support[single[a]], expected({a})) + case.assertEqual(set(pairs), set(combinations(points,2))) + for a,b in combinations(points,2): + case.assertEqual(self.support[pairs[a,b]], expected({a,b})) + block_sizes.append(len(points)) + return total, single, pairs + local = Audited(h-1) + block_sizes.clear() + local.pair(list(range(h-1))) + self.assertEqual(sorted(block_sizes, reverse=True), [h-1, 12 if h==23 else 13, 7 if h==23 else 8, 5, 3, 2]) + + def test_next_fine_grid_points_and_old_assembly_controls_reject(self): + from split_pair_arithmetic import refine + current = json.loads((ROOT/'certificates/split-pair-kappa.json').read_text()) + bit = current['bit']; saving = Fraction(current['bit_saving']); kappa = Fraction(current['kappa']) + grid = Fraction(1,10**18) + rows = {int(t): n for t,n in bit['child_multiplicities'].items()} + self.assertLess(refine.exact_moment(bit['m'],bit['W'],rows,saving)['upper'], 1) + self.assertGreater(refine.exact_moment(bit['m'],bit['W'],rows,saving+grid)['lower'], 1) + for label, variant in ( + ('next_kappa', dict(kappa=kappa+grid)), + ('zero_backoff', dict(h=Fraction())), + ('original_prefix', dict(original_prefix=True)), + ('old_guard', dict(old_guard=True)), + ('old_exposures', dict(old_exposures=True))): + call = dict(a_bit=saving, kappa=kappa, h=Fraction(1,10**12));call.update(variant) + with self.subTest(control=label), self.assertRaises(refine.balanced.InvalidAssembly): + refine.balanced.assembly(current['finite_bridge'], **call) + + def test_mass_preserving_profile_mutation_is_rejected(self): + from split_pair_compose import check_sources + profile_path = ROOT/'certificates/split-pair-profiles-23.json' + changed = json.loads(profile_path.read_text()) + before = sum(t*n for t,n in enumerate(changed['blocks'])) + changed['blocks'][2] += 3; changed['blocks'][3] -= 2 + self.assertTrue(all(n >= 0 for n in changed['blocks'])) + self.assertEqual(before, sum(t*n for t,n in enumerate(changed['blocks']))) + forged = (json.dumps(changed)+'\n').encode() + original = Path.read_bytes + def read_bytes(path): + return forged if path == profile_path else original(path) + with patch.object(Path, 'read_bytes', read_bytes), self.assertRaisesRegex(AssertionError, 'split-pair-profiles-23'): + check_sources() + + def test_missing_profile_pin_is_rejected(self): + from split_pair_compose import check_sources + manifest_path = ROOT/'research/split-pair/SOURCE.json' + manifest = json.loads(manifest_path.read_text());manifest['files'].pop('certificates/split-pair-profiles-23.json') + original = Path.read_text + def read_text(path, *args, **kwargs): + return json.dumps(manifest) if path == manifest_path else original(path, *args, **kwargs) + with patch.object(Path, 'read_text', read_text), self.assertRaisesRegex(AssertionError, 'Incomplete'): + check_sources() + + def test_backward_schedule_dependency_and_carrier_rejected(self): + import split_pair_graph as provider + for kind in ('dependency','carrier'): + blocks = [dict(rank=1,nodes=[1],frame=(0,1),inputs=[],candidates=[]), + dict(rank=2,nodes=[2],frame=(0,3),inputs=[],candidates=[])] + if kind == 'dependency': blocks[0]['inputs'] = [5] + else: blocks[1]['candidates'] = [(0,0)] + parts = (None,blocks,[(5,0,None)],None,{5:1},None,[0,1],None) + with self.subTest(kind=kind), self.assertRaises(AssertionError): + provider._schedule.reordered_build(lambda h:parts, 'cover-core')(23) + + def test_optimized_python_is_rejected_by_every_new_entry(self): + for name in ('split_pair_graph.py', 'split_pair_engine.py', 'split_pair_compiler.py', 'split_pair_arithmetic.py', 'split_pair_compose.py', 'verify_split_pair.py'): + with self.subTest(entry=name): + result = subprocess.run([sys.executable, '-O', str(EXPERIMENTS/name), '--help'], capture_output=True, text=True) + self.assertNotEqual(result.returncode, 0) + self.assertIn('Assertions must remain enabled', result.stderr) + + +if __name__ == '__main__': + unittest.main() diff --git a/tests/test_split_pair_pending.py b/tests/test_split_pair_pending.py new file mode 100644 index 0000000000..e6d63f72a4 --- /dev/null +++ b/tests/test_split_pair_pending.py @@ -0,0 +1,101 @@ +"""Adverse fixtures for the actual integrated pending-control source. + +These tests extract the selected nested source functions without running the +full compiler or oracle; complete word replay is a separate focused gate. +Prepared by Chafik Boukhalfa with OpenAI Codex assistance. Apache-2.0. +""" +from pathlib import Path +from collections import Counter +import ast +import json +import unittest + +ROOT = Path(__file__).resolve().parents[1] +SOURCE = ROOT/'scripts/experiments/split_pair_engine.py' +TREE=ast.parse(SOURCE.read_text()) +body=next(n for n in TREE.body if isinstance(n,ast.FunctionDef) and n.name=='compile_').body +functions={n.name:n for n in body if isinstance(n,ast.FunctionDef)} +def check(ok,why): + if not ok: raise ValueError(why) +def contains(a,b): return not(b[0]&~a[0]) and not(a[1]&~b[1]) +def getfn(name,namespace,node=None): + exec(compile(ast.Module(body=[node or functions[name]],type_ignores=[]),str(SOURCE),'exec'),namespace) + return namespace[name] + +def scenario(pending_frame=0, endpoint=2, anchors=False, acquire_node=None): + # F subset E subset G, while H is not an envelope containing E. + blocks=[{'frame':(1,3),'rank':1},{'frame':(1,7),'rank':2},{'frame':(1,15),'rank':3},{'frame':(1,5),'rank':1}] + slots=[1,1];frames=[pending_frame,0];retired={1};pending={0:endpoint};ops=[];stats=Counter() + def new(g): + slots.append(0);frames.append(g);return len(slots)-1 + def xor(a,b,g): + check(a!=b,'noninvertible self XOR') + for s in (a,b): + check(contains(blocks[frames[s]]['frame'],blocks[g]['frame']),'invalid envelope raising') + frames[s]=g + slots[a]^=slots[b];ops.append((a,b,g)) + env=dict(reclaim=True,slots=slots,frames=frames,blocks=blocks,retired=retired,pending=pending,contains=contains,stats=stats,profile_cost=lambda a,g:0,new=new,xor=xor) + result=getfn('acquire',env,acquire_node)(1,[0] if anchors else []) + check(slots[0]==1 and pending=={0:endpoint},'passive pending control changed signal or future use') + return result,slots,frames,ops,stats + + +class PendingControlTests(unittest.TestCase): + def test_current_and_future_containment_and_passive_signal(self): + for name,kwargs,expected in [ + ('legal F subset E subset G',{},1), + ('future endpoint not containing E',{'endpoint':3},2), + ('current pending frame not contained in E',{'pending_frame':2},2), + ('terminal endpoint cannot be overshot',{'endpoint':0},2), + ('same physical control in anchors and pending',{'anchors':True},1), + ]: + with self.subTest(control=name): + result,slots,frames,ops,stats=scenario(**kwargs) + self.assertEqual(result,expected) + if expected==1: + self.assertEqual((slots,frames,ops),([1,0],[1,1],[(1,0,1)])) + self.assertEqual((stats['live_anchor_xors'],stats['clearing_xors'],stats['reclaimed']),(1,1,1)) + else: + self.assertEqual(ops,[]) + self.assertEqual(slots,[1,1,0]) + + def test_next_use_score_and_both_full_space_fallbacks(self): + for use_pending,a,expected_calls in [ + (True,0,[(2,4),(2,3),(3,4)]), + (False,0,[(2,1),(2,3),(3,1)]), + (True,1,[(2,1),(2,3),(3,1)]), + ]: + with self.subTest(pending_cost=use_pending,slot=a): + calls=[] + def entropy(x,y):calls.append((x,y));return 100*x+y + env=dict(frames=[0,0],pending={0:2},PENDING_COST=use_pending,profile_entropy=entropy) + result=getfn('profile_cost',env)(a,1) + self.assertEqual(calls,expected_calls) + self.assertEqual(result,sum(sign*(100*x+y) for sign,(x,y) in zip([1,-1,-1],expected_calls))) + + def test_removing_future_containment_reaches_adverse_fixture(self): + class RemoveFutureBound(ast.NodeTransformer): + def visit_If(self,node): + self.generic_visit(node) + if isinstance(node.test,ast.BoolOp) and isinstance(node.test.op,ast.And) and len(node.test.values)==2 and 'blocks[target]' in ast.unparse(node.test): + node.test=node.test.values[0] + return node + mutant=RemoveFutureBound().visit(ast.parse(ast.unparse(functions['acquire'])).body[0]) + ast.fix_missing_locations(mutant) + original=scenario(endpoint=3)[0] + mutated=scenario(endpoint=3,acquire_node=mutant)[0] + self.assertEqual(original,2) + self.assertEqual(mutated,1) + + def test_selected_words_exercise_pending_controls(self): + record=json.loads((ROOT/'certificates/split-pair-compiler.json').read_text()) + for h in (23,25): + with self.subTest(h=h): + compiled=record['axes'][str(h)]['compiled'] + self.assertTrue(compiled['pending_live_controls']) + self.assertTrue(compiled['pending_cost_uses_next_use_frame']) + self.assertGreater(compiled['stats']['live_anchor_xors'],0) + + +if __name__=='__main__': + unittest.main()