From 398b3be0a2822c9a57980fdc76594ec5a2638a1a Mon Sep 17 00:00:00 2001 From: rohanarun Date: Mon, 12 Oct 2026 00:39:46 -0400 Subject: [PATCH 1/2] Nominate jointly retimed PR550 complex word for fresh admission --- .../CONSTRUCTION.json | 2269 +++ research/complex-trace-joint-retiming/LICENSE | 201 + .../MANIFEST.json | 93 + .../complex-trace-joint-retiming/PLAN.json | 11388 ++++++++++++++++ .../complex-trace-joint-retiming/PRICE.json | 107 + .../complex-trace-joint-retiming/README.md | 15 + .../complex-trace-joint-retiming/STATUS.json | 7 + .../UPSTREAM-ACQUISITION.json | 93 + .../complex-trace-joint-retiming/WORD.json.gz | Bin 0 -> 36410 bytes .../upstream550/LICENSE | 201 + .../upstream550/MANIFEST.json | 84 + .../upstream550/NOTICE.md | 9 + .../upstream550/PROOF.md | 17 + .../upstream550/README.md | 41 + .../upstream550/SOURCES.json | 369 + .../upstream550/assemble.py | 99 + .../upstream550/assembly_controls.py | 103 + .../upstream550/engines/base_two_moment.py | 63 + .../upstream550/engines/moment.py | 113 + .../upstream550/engines/outer.py | 58 + .../evidence/EXPECTED-ASSEMBLY.json | 182 + .../upstream550/evidence/FIRST-INVOICE.json | 106 + .../upstream550/evidence/FIRST-OWNERS.json | 40 + .../evidence/FIRST-PHYSICAL-RECEIPT.json | 202 + .../evidence/FIRST-PHYSICAL-RESULT.json | 41 + .../evidence/INDEPENDENT-REVIEW.json | 282 + .../evidence/PR543-LOCAL-REPLAY.json | 47 + .../upstream550/evidence/REVIEW.txt | 74 + .../evidence/STALE-PLAN-FAILURE.json | 123 + .../upstream550/inputs/PR543-ACQUISITION.json | 59 + .../upstream550/inputs/PR543-EXPECTED.json | 239 + .../upstream550/inputs/PR543-NOTICE.md | 64 + .../upstream550/inputs/PR543-README.md | 218 + .../upstream550/inputs/PR547-README.md | 33 + .../upstream550/local/LICENSE | 201 + .../upstream550/local/MANIFEST.json | 22 + .../upstream550/local/NOTICE-upstream.md | 70 + .../upstream550/local/NOTICE.md | 29 + .../upstream550/local/PROOF.md | 33 + .../upstream550/local/audit_scalar.py | 55 + .../upstream550/local/construct.py | 47 + .../local/evidence/CONSTRUCTION.json | 115 + .../evidence/INDEPENDENT-LOCAL-REPLAY.json | 58 + .../upstream550/local/evidence/PRICE.json | 62 + .../local/evidence/SCALAR-AUDIT.json | 56 + .../upstream550/local/evidence/SEARCH.json | 94 + .../local/inputs/PR548-EXPECTED.json | 39 + .../local/inputs/PR548-FULL-WORD.json.gz | Bin 0 -> 36316 bytes .../local/inputs/STATIC44-SELECTION.json | 154 + .../upstream550/local/price.py | 30 + .../local/vendor/base_two_moment.py | 63 + .../upstream550/local/vendor/gk/gk_common.py | 94 + .../upstream550/local/vendor/gk/gk_word.py | 194 + .../upstream550/local/vendor/moment.py | 113 + .../upstream550/local/verify.py | 14 + .../upstream550/omit_control.py | 21 + .../upstream550/physical/MANIFEST.json | 36 + .../upstream550/physical/README.md | 9 + .../physical/UPSTREAM-SOURCES.json | 253 + .../upstream550/physical/code/phases_full.py | 39 + .../upstream550/physical/code/run_portable.py | 24 + .../physical/data/RETAINED-INVOICE.json | 105 + .../data/ROUTING-CANONICAL-WORD.json.gz | Bin 0 -> 72789 bytes .../physical/data/SAT-OWNERS.json.gz | Bin 0 -> 409252 bytes .../physical/data/SAT534-PLAN.json | 11388 ++++++++++++++++ .../split-centres/CANONICAL-WORD.json.gz | Bin 0 -> 75113 bytes .../split-centres/GLOBAL-TEMPLATE.json.gz | Bin 0 -> 393948 bytes .../work/complex-nine-native/DATA-PHASES.json | 1 + .../pr361/code/engines/base_two_moment.py | 63 + .../work/pr361/code/engines/moment.py | 113 + .../work/pr361/code/engines/outer.py | 58 + .../upstream550/physical/replay.py | 69 + .../upstream/complex-global/README.md | 11 + .../complex-global/TWO-RESOURCE-TECHNIQUES.md | 67 + .../upstream/complex-global/vendor531/LICENSE | 201 + .../complex-global/vendor531/NOTICE.md | 24 + .../complex-global/vendor531/SOURCES.json | 63 + .../upstream/complex-global/vendor535/LICENSE | 201 + .../complex-global/vendor535/NOTICE.md | 70 + .../physical/upstream/complex-local/README.md | 1 + .../complex-local/SOURCE-MANIFEST.json | 29 + .../physical/upstream/pr544-NOTICE.md | 28 + .../vendor/pr531/code/adapters_local.py | 60 + .../vendor/pr531/code/audit_and_transport.py | 222 + .../physical/vendor/pr531/code/audit_local.py | 144 + .../pr531/code/audit_supplier_hosted.py | 155 + .../physical/vendor/pr531/code/emit_local.py | 156 + .../vendor/pr531/code/emit_supplier_hosted.py | 100 + .../vendor/pr531/code/invoice_final.py | 299 + .../pr531/code/prepare_supplier_base.py | 95 + .../pr531/vendor/clifford/clifford_exact.py | 149 + .../upstream550/verify.py | 79 + 92 files changed, 32916 insertions(+) create mode 100644 research/complex-trace-joint-retiming/CONSTRUCTION.json create mode 100644 research/complex-trace-joint-retiming/LICENSE create mode 100644 research/complex-trace-joint-retiming/MANIFEST.json create mode 100644 research/complex-trace-joint-retiming/PLAN.json create mode 100644 research/complex-trace-joint-retiming/PRICE.json create mode 100644 research/complex-trace-joint-retiming/README.md create mode 100644 research/complex-trace-joint-retiming/STATUS.json create mode 100644 research/complex-trace-joint-retiming/UPSTREAM-ACQUISITION.json create mode 100644 research/complex-trace-joint-retiming/WORD.json.gz create mode 100644 research/complex-trace-joint-retiming/upstream550/LICENSE create mode 100644 research/complex-trace-joint-retiming/upstream550/MANIFEST.json create mode 100644 research/complex-trace-joint-retiming/upstream550/NOTICE.md create mode 100644 research/complex-trace-joint-retiming/upstream550/PROOF.md create mode 100644 research/complex-trace-joint-retiming/upstream550/README.md create mode 100644 research/complex-trace-joint-retiming/upstream550/SOURCES.json create mode 100644 research/complex-trace-joint-retiming/upstream550/assemble.py create mode 100644 research/complex-trace-joint-retiming/upstream550/assembly_controls.py create mode 100644 research/complex-trace-joint-retiming/upstream550/engines/base_two_moment.py create mode 100644 research/complex-trace-joint-retiming/upstream550/engines/moment.py create mode 100644 research/complex-trace-joint-retiming/upstream550/engines/outer.py create mode 100644 research/complex-trace-joint-retiming/upstream550/evidence/EXPECTED-ASSEMBLY.json create mode 100644 research/complex-trace-joint-retiming/upstream550/evidence/FIRST-INVOICE.json create mode 100644 research/complex-trace-joint-retiming/upstream550/evidence/FIRST-OWNERS.json create mode 100644 research/complex-trace-joint-retiming/upstream550/evidence/FIRST-PHYSICAL-RECEIPT.json create mode 100644 research/complex-trace-joint-retiming/upstream550/evidence/FIRST-PHYSICAL-RESULT.json create mode 100644 research/complex-trace-joint-retiming/upstream550/evidence/INDEPENDENT-REVIEW.json create mode 100644 research/complex-trace-joint-retiming/upstream550/evidence/PR543-LOCAL-REPLAY.json create mode 100644 research/complex-trace-joint-retiming/upstream550/evidence/REVIEW.txt create mode 100644 research/complex-trace-joint-retiming/upstream550/evidence/STALE-PLAN-FAILURE.json create mode 100644 research/complex-trace-joint-retiming/upstream550/inputs/PR543-ACQUISITION.json create mode 100644 research/complex-trace-joint-retiming/upstream550/inputs/PR543-EXPECTED.json create mode 100644 research/complex-trace-joint-retiming/upstream550/inputs/PR543-NOTICE.md create mode 100644 research/complex-trace-joint-retiming/upstream550/inputs/PR543-README.md create mode 100644 research/complex-trace-joint-retiming/upstream550/inputs/PR547-README.md create mode 100644 research/complex-trace-joint-retiming/upstream550/local/LICENSE create mode 100644 research/complex-trace-joint-retiming/upstream550/local/MANIFEST.json create mode 100644 research/complex-trace-joint-retiming/upstream550/local/NOTICE-upstream.md create mode 100644 research/complex-trace-joint-retiming/upstream550/local/NOTICE.md create mode 100644 research/complex-trace-joint-retiming/upstream550/local/PROOF.md create mode 100644 research/complex-trace-joint-retiming/upstream550/local/audit_scalar.py create mode 100644 research/complex-trace-joint-retiming/upstream550/local/construct.py create mode 100644 research/complex-trace-joint-retiming/upstream550/local/evidence/CONSTRUCTION.json create mode 100644 research/complex-trace-joint-retiming/upstream550/local/evidence/INDEPENDENT-LOCAL-REPLAY.json create mode 100644 research/complex-trace-joint-retiming/upstream550/local/evidence/PRICE.json create mode 100644 research/complex-trace-joint-retiming/upstream550/local/evidence/SCALAR-AUDIT.json create mode 100644 research/complex-trace-joint-retiming/upstream550/local/evidence/SEARCH.json create mode 100644 research/complex-trace-joint-retiming/upstream550/local/inputs/PR548-EXPECTED.json create mode 100644 research/complex-trace-joint-retiming/upstream550/local/inputs/PR548-FULL-WORD.json.gz create mode 100644 research/complex-trace-joint-retiming/upstream550/local/inputs/STATIC44-SELECTION.json create mode 100644 research/complex-trace-joint-retiming/upstream550/local/price.py create mode 100644 research/complex-trace-joint-retiming/upstream550/local/vendor/base_two_moment.py create mode 100644 research/complex-trace-joint-retiming/upstream550/local/vendor/gk/gk_common.py create mode 100644 research/complex-trace-joint-retiming/upstream550/local/vendor/gk/gk_word.py create mode 100644 research/complex-trace-joint-retiming/upstream550/local/vendor/moment.py create mode 100644 research/complex-trace-joint-retiming/upstream550/local/verify.py create mode 100644 research/complex-trace-joint-retiming/upstream550/omit_control.py create mode 100644 research/complex-trace-joint-retiming/upstream550/physical/MANIFEST.json create mode 100644 research/complex-trace-joint-retiming/upstream550/physical/README.md create mode 100644 research/complex-trace-joint-retiming/upstream550/physical/UPSTREAM-SOURCES.json create mode 100644 research/complex-trace-joint-retiming/upstream550/physical/code/phases_full.py create mode 100644 research/complex-trace-joint-retiming/upstream550/physical/code/run_portable.py create mode 100644 research/complex-trace-joint-retiming/upstream550/physical/data/RETAINED-INVOICE.json create mode 100644 research/complex-trace-joint-retiming/upstream550/physical/data/ROUTING-CANONICAL-WORD.json.gz create mode 100644 research/complex-trace-joint-retiming/upstream550/physical/data/SAT-OWNERS.json.gz create mode 100644 research/complex-trace-joint-retiming/upstream550/physical/data/SAT534-PLAN.json create mode 100644 research/complex-trace-joint-retiming/upstream550/physical/data/controller-input/split-centres/CANONICAL-WORD.json.gz create mode 100644 research/complex-trace-joint-retiming/upstream550/physical/data/controller-input/split-centres/GLOBAL-TEMPLATE.json.gz create mode 100644 research/complex-trace-joint-retiming/upstream550/physical/data/controller-input/work/complex-nine-native/DATA-PHASES.json create mode 100644 research/complex-trace-joint-retiming/upstream550/physical/data/controller-input/work/pr361/code/engines/base_two_moment.py create mode 100644 research/complex-trace-joint-retiming/upstream550/physical/data/controller-input/work/pr361/code/engines/moment.py create mode 100644 research/complex-trace-joint-retiming/upstream550/physical/data/controller-input/work/pr361/code/engines/outer.py create mode 100644 research/complex-trace-joint-retiming/upstream550/physical/replay.py create mode 100644 research/complex-trace-joint-retiming/upstream550/physical/upstream/complex-global/README.md create mode 100644 research/complex-trace-joint-retiming/upstream550/physical/upstream/complex-global/TWO-RESOURCE-TECHNIQUES.md create mode 100644 research/complex-trace-joint-retiming/upstream550/physical/upstream/complex-global/vendor531/LICENSE create mode 100644 research/complex-trace-joint-retiming/upstream550/physical/upstream/complex-global/vendor531/NOTICE.md create mode 100644 research/complex-trace-joint-retiming/upstream550/physical/upstream/complex-global/vendor531/SOURCES.json create mode 100644 research/complex-trace-joint-retiming/upstream550/physical/upstream/complex-global/vendor535/LICENSE create mode 100644 research/complex-trace-joint-retiming/upstream550/physical/upstream/complex-global/vendor535/NOTICE.md create mode 100644 research/complex-trace-joint-retiming/upstream550/physical/upstream/complex-local/README.md create mode 100644 research/complex-trace-joint-retiming/upstream550/physical/upstream/complex-local/SOURCE-MANIFEST.json create mode 100644 research/complex-trace-joint-retiming/upstream550/physical/upstream/pr544-NOTICE.md create mode 100644 research/complex-trace-joint-retiming/upstream550/physical/vendor/pr531/code/adapters_local.py create mode 100644 research/complex-trace-joint-retiming/upstream550/physical/vendor/pr531/code/audit_and_transport.py create mode 100644 research/complex-trace-joint-retiming/upstream550/physical/vendor/pr531/code/audit_local.py create mode 100644 research/complex-trace-joint-retiming/upstream550/physical/vendor/pr531/code/audit_supplier_hosted.py create mode 100644 research/complex-trace-joint-retiming/upstream550/physical/vendor/pr531/code/emit_local.py create mode 100644 research/complex-trace-joint-retiming/upstream550/physical/vendor/pr531/code/emit_supplier_hosted.py create mode 100644 research/complex-trace-joint-retiming/upstream550/physical/vendor/pr531/code/invoice_final.py create mode 100644 research/complex-trace-joint-retiming/upstream550/physical/vendor/pr531/code/prepare_supplier_base.py create mode 100644 research/complex-trace-joint-retiming/upstream550/physical/vendor/pr531/vendor/clifford/clifford_exact.py create mode 100644 research/complex-trace-joint-retiming/upstream550/verify.py diff --git a/research/complex-trace-joint-retiming/CONSTRUCTION.json b/research/complex-trace-joint-retiming/CONSTRUCTION.json new file mode 100644 index 0000000000..615ecec2fe --- /dev/null +++ b/research/complex-trace-joint-retiming/CONSTRUCTION.json @@ -0,0 +1,2269 @@ +{ + "status": "PASS_SAME_SCALAR_WORD_AND_EXACT_FRAME_PROFILE", + "source_pr": 550, + "source_head": "c7337040822978f1611ce9d9d44e7bb96d887e23", + "word_sha256": "41b35060f2df2d9505a451037b0e6af60aeb889057773ee7afd77db916189cca", + "changes": [ + { + "section": "A", + "index": 1549, + "old": [ + 259, + 131, + 96, + 24 + ], + "new": [ + 259, + 131, + 64, + 32, + 24 + ] + }, + { + "section": "A", + "index": 1553, + "old": [ + 259, + 131, + 96, + 24 + ], + "new": [ + 259, + 131, + 64, + 32, + 24 + ] + }, + { + "section": "B", + "index": 849, + "old": [ + 290, + 162, + 100, + 24 + ], + "new": [ + 290, + 162, + 100, + 24, + 1 + ] + }, + { + "section": "B", + "index": 851, + "old": [ + 324, + 196, + 24, + 2, + 1 + ], + "new": [ + 324, + 196, + 24, + 2 + ] + }, + { + "section": "B", + "index": 852, + "old": [ + 385, + 64, + 33, + 24, + 3 + ], + "new": [ + 386, + 67, + 33, + 24 + ] + }, + { + "section": "B", + "index": 854, + "old": [ + 385, + 64, + 33, + 24, + 4 + ], + "new": [ + 449, + 33, + 24, + 4 + ] + }, + { + "section": "B", + "index": 857, + "old": [ + 292, + 162, + 98, + 24 + ], + "new": [ + 292, + 162, + 98, + 24, + 1 + ] + }, + { + "section": "B", + "index": 860, + "old": [ + 259, + 132, + 70, + 33, + 24 + ], + "new": [ + 259, + 194, + 33, + 24 + ] + }, + { + "section": "B", + "index": 862, + "old": [ + 260, + 131, + 70, + 33, + 24 + ], + "new": [ + 322, + 131, + 33, + 24 + ] + }, + { + "section": "B", + "index": 865, + "old": [ + 326, + 198, + 44, + 30, + 1 + ], + "new": [ + 326, + 198, + 44, + 30 + ] + }, + { + "section": "B", + "index": 867, + "old": [ + 266, + 138, + 76, + 30, + 1 + ], + "new": [ + 266, + 138, + 76, + 30 + ] + }, + { + "section": "B", + "index": 868, + "old": [ + 385, + 70, + 33, + 20, + 10 + ], + "new": [ + 395, + 76, + 33, + 30 + ] + }, + { + "section": "B", + "index": 873, + "old": [ + 326, + 192, + 44, + 30, + 1 + ], + "new": [ + 326, + 192, + 44, + 30 + ] + }, + { + "section": "B", + "index": 875, + "old": [ + 268, + 138, + 74, + 30, + 1 + ], + "new": [ + 268, + 138, + 74, + 30 + ] + }, + { + "section": "B", + "index": 876, + "old": [ + 268, + 139, + 64, + 33, + 30 + ], + "new": [ + 268, + 203, + 33, + 30 + ] + }, + { + "section": "B", + "index": 878, + "old": [ + 267, + 140, + 64, + 33, + 30 + ], + "new": [ + 331, + 140, + 33, + 30 + ] + }, + { + "section": "B", + "index": 881, + "old": [ + 298, + 170, + 107, + 25, + 7 + ], + "new": [ + 301, + 173, + 107, + 30 + ] + }, + { + "section": "B", + "index": 883, + "old": [ + 321, + 193, + 19, + 10, + 7 + ], + "new": [ + 326, + 198, + 19, + 13 + ] + }, + { + "section": "B", + "index": 884, + "old": [ + 391, + 64, + 39, + 20, + 10 + ], + "new": [ + 397, + 74, + 39, + 30 + ] + }, + { + "section": "B", + "index": 889, + "old": [ + 299, + 170, + 106, + 25, + 7 + ], + "new": [ + 299, + 173, + 109, + 30 + ] + }, + { + "section": "B", + "index": 891, + "old": [ + 321, + 192, + 19, + 10, + 7 + ], + "new": [ + 326, + 192, + 19, + 13 + ] + }, + { + "section": "B", + "index": 892, + "old": [ + 266, + 139, + 70, + 39, + 30 + ], + "new": [ + 266, + 205, + 39, + 30 + ] + }, + { + "section": "B", + "index": 894, + "old": [ + 267, + 138, + 70, + 39, + 30 + ], + "new": [ + 333, + 138, + 39, + 30 + ] + }, + { + "section": "B", + "index": 897, + "old": [ + 321, + 193, + 34, + 24, + 7 + ], + "new": [ + 326, + 198, + 37, + 24 + ] + }, + { + "section": "B", + "index": 899, + "old": [ + 259, + 131, + 66, + 24, + 7 + ], + "new": [ + 259, + 131, + 69, + 24 + ] + }, + { + "section": "B", + "index": 900, + "old": [ + 388, + 69, + 36, + 24, + 3 + ], + "new": [ + 388, + 69, + 39, + 24 + ] + }, + { + "section": "B", + "index": 902, + "old": [ + 389, + 68, + 37, + 24, + 2 + ], + "new": [ + 449, + 37, + 24, + 2 + ] + }, + { + "section": "B", + "index": 905, + "old": [ + 321, + 192, + 34, + 24, + 7 + ], + "new": [ + 326, + 192, + 37, + 24 + ] + }, + { + "section": "B", + "index": 907, + "old": [ + 258, + 131, + 67, + 24, + 7 + ], + "new": [ + 261, + 131, + 67, + 24 + ] + }, + { + "section": "B", + "index": 908, + "old": [ + 261, + 132, + 64, + 39, + 24 + ], + "new": [ + 261, + 196, + 39, + 24 + ] + }, + { + "section": "B", + "index": 910, + "old": [ + 260, + 133, + 64, + 39, + 24 + ], + "new": [ + 324, + 133, + 39, + 24 + ] + }, + { + "section": "B", + "index": 936, + "old": [ + 290, + 162, + 98, + 24, + 6 + ], + "new": [ + 290, + 162, + 98, + 24, + 6, + 1 + ] + }, + { + "section": "B", + "index": 937, + "old": [ + 290, + 162, + 98, + 24, + 6 + ], + "new": [ + 290, + 162, + 98, + 24, + 6, + 1 + ] + }, + { + "section": "B", + "index": 938, + "old": [ + 290, + 162, + 98, + 24, + 6 + ], + "new": [ + 290, + 162, + 98, + 24, + 6, + 1 + ] + }, + { + "section": "B", + "index": 939, + "old": [ + 320, + 192, + 24, + 4, + 2, + 1 + ], + "new": [ + 320, + 192, + 24, + 4, + 2 + ] + }, + { + "section": "B", + "index": 940, + "old": [ + 320, + 192, + 42, + 24, + 6, + 1 + ], + "new": [ + 320, + 192, + 42, + 24, + 6 + ] + }, + { + "section": "B", + "index": 941, + "old": [ + 266, + 138, + 74, + 24, + 6, + 1 + ], + "new": [ + 266, + 138, + 74, + 24, + 6 + ] + }, + { + "section": "B", + "index": 942, + "old": [ + 298, + 170, + 106, + 24, + 6, + 1 + ], + "new": [ + 299, + 171, + 107, + 24, + 6 + ] + }, + { + "section": "B", + "index": 943, + "old": [ + 320, + 192, + 18, + 10, + 6, + 1 + ], + "new": [ + 320, + 192, + 19, + 11, + 6 + ] + }, + { + "section": "B", + "index": 944, + "old": [ + 320, + 192, + 34, + 24, + 6, + 1 + ], + "new": [ + 320, + 192, + 35, + 24, + 6 + ] + }, + { + "section": "B", + "index": 945, + "old": [ + 258, + 130, + 66, + 24, + 6, + 1 + ], + "new": [ + 259, + 131, + 67, + 24, + 6 + ] + }, + { + "section": "B", + "index": 948, + "old": [ + 274, + 138, + 80, + 40, + 6, + 1 + ], + "new": [ + 274, + 138, + 80, + 40, + 6 + ] + }, + { + "section": "B", + "index": 952, + "old": [ + 282, + 130, + 80, + 40, + 6, + 1 + ], + "new": [ + 283, + 131, + 80, + 40, + 6 + ] + }, + { + "section": "B", + "index": 958, + "old": [ + 272, + 144, + 90, + 58, + 6, + 1 + ], + "new": [ + 272, + 144, + 91, + 59, + 6 + ] + }, + { + "section": "B", + "index": 961, + "old": [ + 272, + 144, + 96, + 10, + 6, + 1 + ], + "new": [ + 272, + 144, + 96, + 11, + 6 + ] + }, + { + "section": "B", + "index": 963, + "old": [ + 260, + 132, + 76, + 44, + 24, + 1 + ], + "new": [ + 260, + 132, + 76, + 44, + 24 + ] + }, + { + "section": "B", + "index": 974, + "old": [ + 270, + 136, + 68, + 34, + 24, + 1 + ], + "new": [ + 271, + 137, + 68, + 34, + 24 + ] + }, + { + "section": "B", + "index": 976, + "old": [ + 390, + 68, + 34, + 18, + 10, + 1 + ], + "new": [ + 390, + 68, + 34, + 19, + 11 + ] + }, + { + "section": "B", + "index": 981, + "old": [ + 292, + 164, + 102, + 16, + 14, + 1 + ], + "new": [ + 292, + 164, + 102, + 16, + 14 + ] + }, + { + "section": "B", + "index": 983, + "old": [ + 264, + 136, + 68, + 34, + 30, + 1 + ], + "new": [ + 265, + 137, + 69, + 35, + 30 + ] + }, + { + "section": "B", + "index": 992, + "old": [ + 390, + 68, + 36, + 20, + 10, + 1 + ], + "new": [ + 390, + 69, + 37, + 20, + 10 + ] + }, + { + "section": "B", + "index": 999, + "old": [ + 265, + 137, + 96, + 25, + 5, + 2 + ], + "new": [ + 265, + 137, + 96, + 28, + 2 + ] + }, + { + "section": "B", + "index": 1004, + "old": [ + 385, + 66, + 35, + 16, + 9, + 7 + ], + "new": [ + 390, + 69, + 35, + 16, + 14 + ] + }, + { + "section": "B", + "index": 1005, + "old": [ + 385, + 67, + 34, + 17, + 8, + 7 + ], + "new": [ + 390, + 67, + 37, + 22, + 8 + ] + }, + { + "section": "B", + "index": 1006, + "old": [ + 264, + 137, + 75, + 42, + 25, + 7 + ], + "new": [ + 271, + 137, + 75, + 45, + 30 + ] + }, + { + "section": "B", + "index": 1009, + "old": [ + 385, + 73, + 40, + 25, + 5, + 2 + ], + "new": [ + 388, + 73, + 45, + 28, + 2 + ] + }, + { + "section": "B", + "index": 1012, + "old": [ + 291, + 163, + 97, + 17, + 9, + 7 + ], + "new": [ + 291, + 163, + 102, + 22, + 14 + ] + }, + { + "section": "B", + "index": 1014, + "old": [ + 264, + 136, + 74, + 43, + 24, + 7 + ], + "new": [ + 271, + 143, + 74, + 44, + 24 + ] + }, + { + "section": "B", + "index": 1023, + "old": [ + 265, + 136, + 96, + 24, + 4, + 3 + ], + "new": [ + 265, + 140, + 96, + 24, + 3 + ] + }, + { + "section": "B", + "index": 1025, + "old": [ + 385, + 73, + 41, + 24, + 4, + 3 + ], + "new": [ + 389, + 73, + 41, + 24, + 3 + ] + }, + { + "section": "B", + "index": 1027, + "old": [ + 385, + 96, + 16, + 9, + 4, + 2 + ], + "new": [ + 401, + 96, + 9, + 4, + 2 + ] + }, + { + "section": "B", + "index": 1028, + "old": [ + 290, + 163, + 96, + 16, + 9, + 6 + ], + "new": [ + 290, + 179, + 96, + 9, + 6 + ] + }, + { + "section": "B", + "index": 1030, + "old": [ + 385, + 67, + 35, + 16, + 9, + 6 + ], + "new": [ + 401, + 67, + 35, + 9, + 6 + ] + }, + { + "section": "B", + "index": 1034, + "old": [ + 297, + 169, + 97, + 25, + 5, + 3 + ], + "new": [ + 297, + 169, + 98, + 26, + 6 + ] + }, + { + "section": "B", + "index": 1039, + "old": [ + 267, + 139, + 67, + 34, + 25, + 6 + ], + "new": [ + 274, + 146, + 67, + 59, + 6 + ] + }, + { + "section": "B", + "index": 1042, + "old": [ + 385, + 64, + 33, + 24, + 5, + 3 + ], + "new": [ + 386, + 67, + 33, + 24, + 6 + ] + }, + { + "section": "B", + "index": 1043, + "old": [ + 385, + 64, + 33, + 24, + 4, + 2 + ], + "new": [ + 449, + 33, + 24, + 4, + 2 + ] + }, + { + "section": "B", + "index": 1044, + "old": [ + 385, + 64, + 33, + 18, + 10, + 6 + ], + "new": [ + 395, + 74, + 33, + 24, + 6 + ] + }, + { + "section": "B", + "index": 1046, + "old": [ + 266, + 139, + 64, + 33, + 24, + 6 + ], + "new": [ + 266, + 203, + 33, + 24, + 6 + ] + }, + { + "section": "B", + "index": 1047, + "old": [ + 267, + 138, + 64, + 33, + 24, + 6 + ], + "new": [ + 331, + 138, + 33, + 24, + 6 + ] + }, + { + "section": "B", + "index": 1048, + "old": [ + 259, + 130, + 64, + 33, + 24, + 6 + ], + "new": [ + 259, + 194, + 33, + 24, + 6 + ] + }, + { + "section": "B", + "index": 1049, + "old": [ + 258, + 131, + 64, + 33, + 24, + 6 + ], + "new": [ + 322, + 131, + 33, + 24, + 6 + ] + }, + { + "section": "B", + "index": 1050, + "old": [ + 320, + 192, + 24, + 4, + 2, + 1 + ], + "new": [ + 320, + 192, + 24, + 4, + 2 + ] + }, + { + "section": "B", + "index": 1051, + "old": [ + 320, + 192, + 42, + 24, + 6, + 1 + ], + "new": [ + 320, + 192, + 42, + 24, + 6 + ] + }, + { + "section": "B", + "index": 1052, + "old": [ + 266, + 138, + 74, + 24, + 6, + 1 + ], + "new": [ + 266, + 138, + 74, + 24, + 6 + ] + }, + { + "section": "B", + "index": 1053, + "old": [ + 298, + 170, + 106, + 24, + 6, + 1 + ], + "new": [ + 299, + 171, + 107, + 24, + 6 + ] + }, + { + "section": "B", + "index": 1054, + "old": [ + 320, + 192, + 18, + 10, + 6, + 1 + ], + "new": [ + 320, + 192, + 19, + 11, + 6 + ] + }, + { + "section": "B", + "index": 1055, + "old": [ + 320, + 192, + 34, + 24, + 6, + 1 + ], + "new": [ + 320, + 192, + 35, + 24, + 6 + ] + }, + { + "section": "B", + "index": 1056, + "old": [ + 258, + 130, + 66, + 24, + 6, + 1 + ], + "new": [ + 259, + 131, + 67, + 24, + 6 + ] + }, + { + "section": "B", + "index": 1059, + "old": [ + 274, + 138, + 80, + 40, + 6, + 1 + ], + "new": [ + 274, + 138, + 80, + 40, + 6 + ] + }, + { + "section": "B", + "index": 1063, + "old": [ + 282, + 130, + 80, + 40, + 6, + 1 + ], + "new": [ + 283, + 131, + 80, + 40, + 6 + ] + }, + { + "section": "B", + "index": 1069, + "old": [ + 272, + 144, + 90, + 58, + 6, + 1 + ], + "new": [ + 272, + 144, + 91, + 59, + 6 + ] + }, + { + "section": "B", + "index": 1072, + "old": [ + 272, + 144, + 96, + 10, + 6, + 1 + ], + "new": [ + 272, + 144, + 96, + 11, + 6 + ] + }, + { + "section": "B", + "index": 1074, + "old": [ + 260, + 132, + 76, + 44, + 24, + 1 + ], + "new": [ + 260, + 132, + 76, + 44, + 24 + ] + }, + { + "section": "B", + "index": 1085, + "old": [ + 270, + 136, + 68, + 34, + 24, + 1 + ], + "new": [ + 271, + 137, + 68, + 34, + 24 + ] + }, + { + "section": "B", + "index": 1087, + "old": [ + 390, + 68, + 34, + 18, + 10, + 1 + ], + "new": [ + 390, + 68, + 34, + 19, + 11 + ] + }, + { + "section": "B", + "index": 1092, + "old": [ + 292, + 164, + 102, + 16, + 14, + 1 + ], + "new": [ + 292, + 164, + 102, + 16, + 14 + ] + }, + { + "section": "B", + "index": 1094, + "old": [ + 264, + 136, + 68, + 34, + 30, + 1 + ], + "new": [ + 265, + 137, + 69, + 35, + 30 + ] + }, + { + "section": "B", + "index": 1103, + "old": [ + 390, + 68, + 36, + 20, + 10, + 1 + ], + "new": [ + 390, + 69, + 37, + 20, + 10 + ] + }, + { + "section": "B", + "index": 1110, + "old": [ + 265, + 137, + 96, + 25, + 5, + 2 + ], + "new": [ + 265, + 137, + 96, + 28, + 2 + ] + }, + { + "section": "B", + "index": 1115, + "old": [ + 385, + 66, + 35, + 16, + 9, + 7 + ], + "new": [ + 390, + 69, + 35, + 16, + 14 + ] + }, + { + "section": "B", + "index": 1116, + "old": [ + 385, + 67, + 34, + 17, + 8, + 7 + ], + "new": [ + 390, + 67, + 37, + 22, + 8 + ] + }, + { + "section": "B", + "index": 1117, + "old": [ + 264, + 137, + 75, + 42, + 25, + 7 + ], + "new": [ + 271, + 137, + 75, + 45, + 30 + ] + }, + { + "section": "B", + "index": 1120, + "old": [ + 385, + 73, + 40, + 25, + 5, + 2 + ], + "new": [ + 388, + 73, + 45, + 28, + 2 + ] + }, + { + "section": "B", + "index": 1123, + "old": [ + 291, + 163, + 97, + 17, + 9, + 7 + ], + "new": [ + 291, + 163, + 102, + 22, + 14 + ] + }, + { + "section": "B", + "index": 1125, + "old": [ + 264, + 136, + 74, + 43, + 24, + 7 + ], + "new": [ + 271, + 143, + 74, + 44, + 24 + ] + }, + { + "section": "B", + "index": 1134, + "old": [ + 265, + 136, + 96, + 24, + 4, + 3 + ], + "new": [ + 265, + 140, + 96, + 24, + 3 + ] + }, + { + "section": "B", + "index": 1136, + "old": [ + 385, + 73, + 41, + 24, + 4, + 3 + ], + "new": [ + 389, + 73, + 41, + 24, + 3 + ] + }, + { + "section": "B", + "index": 1138, + "old": [ + 385, + 96, + 16, + 9, + 4, + 2 + ], + "new": [ + 401, + 96, + 9, + 4, + 2 + ] + }, + { + "section": "B", + "index": 1139, + "old": [ + 290, + 163, + 96, + 16, + 9, + 6 + ], + "new": [ + 290, + 179, + 96, + 9, + 6 + ] + }, + { + "section": "B", + "index": 1141, + "old": [ + 385, + 67, + 35, + 16, + 9, + 6 + ], + "new": [ + 401, + 67, + 35, + 9, + 6 + ] + }, + { + "section": "B", + "index": 1145, + "old": [ + 297, + 169, + 97, + 25, + 5, + 3 + ], + "new": [ + 297, + 169, + 98, + 26, + 6 + ] + }, + { + "section": "B", + "index": 1150, + "old": [ + 267, + 139, + 67, + 34, + 25, + 6 + ], + "new": [ + 274, + 146, + 67, + 59, + 6 + ] + }, + { + "section": "B", + "index": 1153, + "old": [ + 385, + 64, + 33, + 24, + 5, + 3 + ], + "new": [ + 386, + 67, + 33, + 24, + 6 + ] + }, + { + "section": "B", + "index": 1154, + "old": [ + 385, + 64, + 33, + 24, + 4, + 2 + ], + "new": [ + 449, + 33, + 24, + 4, + 2 + ] + }, + { + "section": "B", + "index": 1155, + "old": [ + 385, + 64, + 33, + 18, + 10, + 6 + ], + "new": [ + 395, + 74, + 33, + 24, + 6 + ] + }, + { + "section": "B", + "index": 1157, + "old": [ + 266, + 139, + 64, + 33, + 24, + 6 + ], + "new": [ + 266, + 203, + 33, + 24, + 6 + ] + }, + { + "section": "B", + "index": 1158, + "old": [ + 267, + 138, + 64, + 33, + 24, + 6 + ], + "new": [ + 331, + 138, + 33, + 24, + 6 + ] + }, + { + "section": "B", + "index": 1159, + "old": [ + 259, + 130, + 64, + 33, + 24, + 6 + ], + "new": [ + 259, + 194, + 33, + 24, + 6 + ] + }, + { + "section": "B", + "index": 1160, + "old": [ + 258, + 131, + 64, + 33, + 24, + 6 + ], + "new": [ + 322, + 131, + 33, + 24, + 6 + ] + }, + { + "section": "B", + "index": 1389, + "old": [ + 256, + 128, + 64, + 33, + 17, + 9, + 5, + 2 + ], + "new": [ + 256, + 128, + 64, + 33, + 24, + 5, + 2 + ] + }, + { + "section": "B", + "index": 1410, + "old": [ + 257, + 128, + 64, + 32, + 16, + 9, + 5, + 3 + ], + "new": [ + 257, + 128, + 64, + 32, + 16, + 9, + 6 + ] + }, + { + "section": "B", + "index": 1613, + "old": [ + 262, + 134, + 68, + 34, + 16, + 14, + 1 + ], + "new": [ + 263, + 135, + 69, + 35, + 16, + 14 + ] + }, + { + "section": "B", + "index": 1614, + "old": [ + 262, + 134, + 68, + 34, + 16, + 14, + 1 + ], + "new": [ + 263, + 135, + 69, + 35, + 16, + 14 + ] + }, + { + "section": "B", + "index": 1725, + "old": [ + 256, + 129, + 67, + 34, + 17, + 8, + 7 + ], + "new": [ + 263, + 129, + 67, + 37, + 22, + 8 + ] + }, + { + "section": "B", + "index": 1726, + "old": [ + 256, + 129, + 67, + 34, + 17, + 8, + 7 + ], + "new": [ + 263, + 129, + 67, + 37, + 22, + 8 + ] + }, + { + "section": "B", + "index": 1737, + "old": [ + 257, + 129, + 67, + 34, + 17, + 9, + 7 + ], + "new": [ + 257, + 129, + 68, + 34, + 22, + 14 + ] + }, + { + "section": "B", + "index": 1738, + "old": [ + 257, + 129, + 67, + 34, + 17, + 9, + 7 + ], + "new": [ + 257, + 129, + 68, + 34, + 22, + 14 + ] + }, + { + "section": "B", + "index": 1861, + "old": [ + 256, + 129, + 64, + 33, + 24, + 4, + 2 + ], + "new": [ + 320, + 129, + 33, + 24, + 4, + 2 + ] + }, + { + "section": "B", + "index": 1862, + "old": [ + 256, + 129, + 64, + 33, + 24, + 4, + 2 + ], + "new": [ + 320, + 129, + 33, + 24, + 4, + 2 + ] + } + ], + "local_profile_before": { + "1": 2285, + "4": 169, + "8": 8, + "3": 487, + "2": 455, + "6": 56, + "5": 56 + }, + "local_profile_after": { + "1": 2276, + "4": 204, + "3": 404, + "8": 8, + "2": 514, + "6": 56, + "5": 56 + }, + "scope": "Full physical admission pending" +} diff --git a/research/complex-trace-joint-retiming/LICENSE b/research/complex-trace-joint-retiming/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/research/complex-trace-joint-retiming/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/research/complex-trace-joint-retiming/MANIFEST.json b/research/complex-trace-joint-retiming/MANIFEST.json new file mode 100644 index 0000000000..40fa60d247 --- /dev/null +++ b/research/complex-trace-joint-retiming/MANIFEST.json @@ -0,0 +1,93 @@ +{ + "CONSTRUCTION.json": "54e8c7de0b07b1d9f44ab8a5a4ef377629abed4f9c709c21765e4b1983bdd3e0", + "LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "PLAN.json": "a817c115def44d22e67f0135dc200ec3dd2c20d1fcb810fb20cde5a2434b0de3", + "PRICE.json": "7bedd460b327fc2f552051bb1f7b1e60815b11a052db88c882e3b741b736fab1", + "README.md": "f76c0d7b0e0f074f9cff8ddc0448481059b2b4064340d46444a09aeb4bda964e", + "STATUS.json": "5811d43233e8e8f1049a4bb38e4463e47b8260a657c07f2d04883b62ee74722b", + "UPSTREAM-ACQUISITION.json": "157f62971d6fae485e12020d6dd69f7ed08bc41104a498bfc6940e2e2baad2e1", + "WORD.json.gz": "41b35060f2df2d9505a451037b0e6af60aeb889057773ee7afd77db916189cca", + "upstream550/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "upstream550/MANIFEST.json": "3db46a45e6b8e7021176e889d730141b5a30bcad47e99a9ada67128c012c2dcc", + "upstream550/NOTICE.md": "9847366e74f2a1d1423741ee8654bef9a74cdaab6c322823e44fa78f2faca64e", + "upstream550/PROOF.md": "06bc6292240e6073957d2b147713b7304c9aec640a021d5ce480c978503cd594", + "upstream550/README.md": "e39f2a224ac86bed21fe048e1b86930f1ae23916ccb118c7c04fba97806033c0", + "upstream550/SOURCES.json": "a30f58982769f0d45b2e820daa4b6542a39f6ab867aee833c3f6a9331ddff74c", + "upstream550/assemble.py": "58ca07fd72c6ab605e94eb5dda44989cf48437f9fade913cccc192b14b4fc60e", + "upstream550/assembly_controls.py": "f78e9e7ae212c9c809030bde6766ae0d0405cc2fe6efe4eda92e287446a2c024", + "upstream550/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "upstream550/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "upstream550/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "upstream550/evidence/EXPECTED-ASSEMBLY.json": "9159a0c30cc58446dbf9d75d495f813aa639d8578f3b811dc76b8b55424d29bb", + "upstream550/evidence/FIRST-INVOICE.json": "eb17b8b08a24c68355d5aa591ecd54c4c2c08ac713c00b8c656b9de756a2a256", + "upstream550/evidence/FIRST-OWNERS.json": "54eaba9c05be4978b51cfdb2ed0c1b350cfcded79c48bdf60203937ab1e11eaa", + "upstream550/evidence/FIRST-PHYSICAL-RECEIPT.json": "4aee5d294f84c7ddd99fc5a41f4174251d4b475ae21ee0a8e66f8ff37af5b51d", + "upstream550/evidence/FIRST-PHYSICAL-RESULT.json": "15728246a433a66095d040e1510583765a2677d4fbab543756edc85642200cce", + "upstream550/evidence/INDEPENDENT-REVIEW.json": "cd73e2471a4a8a99dcc0992f4805ecc96239ed71cfcbf2b4a57abcdce736ab0d", + "upstream550/evidence/PR543-LOCAL-REPLAY.json": "957c926bea5ca5aa52c5e0d3b1623c813e1338e3ed7402c5f188edfbaed6eb7d", + "upstream550/evidence/REVIEW.txt": "d43d5492c57358c5450813c8a426f915add81d0b28c0d26896b1c3627347525f", + "upstream550/evidence/STALE-PLAN-FAILURE.json": "7137d7b35c0f8fdae2f66d97d7edee99db8940d5c57a07f55f79050aeca884c7", + "upstream550/inputs/PR543-ACQUISITION.json": "77b69cf892405ba9761bef06de6f5a955230ed2256022739408772fc061cb5cf", + "upstream550/inputs/PR543-EXPECTED.json": "06eccee9f6b77e140833df83407e7996dc948c17d49b0779ab171fbe463fd28d", + "upstream550/inputs/PR543-NOTICE.md": "12ba6e0845f222e9940b00f6c60d261db104246a8d3143da267682973479f811", + "upstream550/inputs/PR543-README.md": "9807be57c6adf26b30e4f54e2f8160075bbc05091f1a6d157e43d2a4620c1c9f", + "upstream550/inputs/PR547-README.md": "7b0277097a121f9d66244283e591945fd724f1e7fb50bee65d672daed4590063", + "upstream550/local/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "upstream550/local/MANIFEST.json": "cd17ac51eaec93cebeaad89b86b11793f347919a875d3286b92182671dc62129", + "upstream550/local/NOTICE-upstream.md": "1547136e6d269fdcef2b68c10a97a786a79a4732a12738363f679bfb282430cd", + "upstream550/local/NOTICE.md": "12d8a70cd8347b62e197ef7724fe69674fe940b610e1d7f36daf913845c94f32", + "upstream550/local/PROOF.md": "d2d42323e8f97437d08bb0dd1276032b324a9d6136793882dc57de04aba2de04", + "upstream550/local/audit_scalar.py": "a1cd720d281c7a9db7f17919c637cdcb8558e9f3c96e929706f0c21f317a7943", + "upstream550/local/construct.py": "d0c92f617d8ec3668de8d64a7410369e101fc416ef66afdc6ecb6e035e68bcdb", + "upstream550/local/evidence/CONSTRUCTION.json": "13d81ee8529fa8bb22db3a61e06efa19fa3c236b916976553931d8dc71187eb9", + "upstream550/local/evidence/INDEPENDENT-LOCAL-REPLAY.json": "24edcc9a509bf118f0b9bf003fad3682f27906f75b7c0ab323a785310e0dd067", + "upstream550/local/evidence/PRICE.json": "1ab626ff7960a8fceb8acbba9239da2d921e918989ba47e41ba83a0fc911160c", + "upstream550/local/evidence/SCALAR-AUDIT.json": "d64f613be947234bb5962f3142839211ba43d7f571ee03d88e406f3e339abb5b", + "upstream550/local/evidence/SEARCH.json": "7cd09c28410f4419bd4adb8e82c93f195f6d7e5e47b4fecde0093493044c65ce", + "upstream550/local/inputs/PR548-EXPECTED.json": "2e458dd9880d001b63153e37ef7954c6bcfceae378ab4b225cfa1c94ea8e23ce", + "upstream550/local/inputs/PR548-FULL-WORD.json.gz": "4fcc8aeb5206c4fd68c741ff417449af96156ab62aab9b8620e523d393587ca3", + "upstream550/local/inputs/STATIC44-SELECTION.json": "16ecc4a5c08af6750ee8610b722f74eba82a9eeb9703f0f0e0ace08ce5c82ad3", + "upstream550/local/price.py": "4e31c8eb9a7b13a2faac735cb5fd9ae883c2baa4f14c35bc4a610a011e38e30d", + "upstream550/local/vendor/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "upstream550/local/vendor/gk/gk_common.py": "e68d190fd436b2f3955decb590adb53344d5d4ea0a19d62d86df1e4b55ecd198", + "upstream550/local/vendor/gk/gk_word.py": "f027a9273bcf4e0971258c160b7d3b3c196366b32a529cff6e6a0e666b03826b", + "upstream550/local/vendor/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "upstream550/local/verify.py": "2806e21e391c38ceaa55a7d721ad8dbd7925c42b54929eda4f2c25a7a77739d9", + "upstream550/omit_control.py": "754df02358b6081dc31f90b9c78c9d542cc8660c1790c7b5f2c87de5cab1b3a9", + "upstream550/physical/MANIFEST.json": "78fa51757c03dbab4ab84852d97b7146490d4b5709ed3d3cd0d98a504093e9ac", + "upstream550/physical/README.md": "1df18cdd5210b7ea02eb4141cf79818d97592c63d7a16767477f10272d22b151", + "upstream550/physical/UPSTREAM-SOURCES.json": "a493ab503c3d19d94375e6fa0f3595918d81c6667623f58f889b0e2854a178bb", + "upstream550/physical/code/phases_full.py": "a273c325ffd6793d5b63b79a289a9d2bbc9292e6940fb5a926924f3708627af4", + "upstream550/physical/code/run_portable.py": "322d29d43dbee8130cde15d4bf05396698b5e3dfe3735813899db91cc0ba7955", + "upstream550/physical/data/RETAINED-INVOICE.json": "ce1bfa49be88ae67a404f606a11db2232b7e1f2610d4418058e39749d86d8478", + "upstream550/physical/data/ROUTING-CANONICAL-WORD.json.gz": "e070ae2c78b4a1b644b418774af62b40d8d16e6ba89602f0474afb557d507c37", + "upstream550/physical/data/SAT-OWNERS.json.gz": "b5a5339dd37d90a0adf40d90d6aed52aec2f94073a3b27763575eb069f85a903", + "upstream550/physical/data/SAT534-PLAN.json": "f32453261b6039a8bbeab8c242de60424619a6463edbd8cd3f12650b3f081155", + "upstream550/physical/data/controller-input/split-centres/CANONICAL-WORD.json.gz": "de2be0f4b6d24ace368fd5b834b7a00f9625d0a1824c4ff969f2db5f115db667", + "upstream550/physical/data/controller-input/split-centres/GLOBAL-TEMPLATE.json.gz": "025448abdf2012d327e50a009084e1501690d05e650300d2982836aa0350ae00", + "upstream550/physical/data/controller-input/work/complex-nine-native/DATA-PHASES.json": "c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa", + "upstream550/physical/data/controller-input/work/pr361/code/engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "upstream550/physical/data/controller-input/work/pr361/code/engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "upstream550/physical/data/controller-input/work/pr361/code/engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c", + "upstream550/physical/replay.py": "3fc8ae0963ab8223ae6b33e5e6f4967192df8e15d4f7ee756c93c1743efd54dd", + "upstream550/physical/upstream/complex-global/README.md": "498eb1e74fa31f8688343c2a1ed0dc335c9275b69647a1a7a027cc7a401d5592", + "upstream550/physical/upstream/complex-global/TWO-RESOURCE-TECHNIQUES.md": "8cc6b582680ae8565444abc01f1dba729c94a827f1f8e89192190229e52183f4", + "upstream550/physical/upstream/complex-global/vendor531/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "upstream550/physical/upstream/complex-global/vendor531/NOTICE.md": "b47da4b840ca9c8d1e2816359a603304ebd7ca442c82b94c049b00f142643f73", + "upstream550/physical/upstream/complex-global/vendor531/SOURCES.json": "c265f58b1ab29f9b662e9c5f943147ccc0527fb1f4803b06b48f71d96fa9bc60", + "upstream550/physical/upstream/complex-global/vendor535/LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "upstream550/physical/upstream/complex-global/vendor535/NOTICE.md": "1547136e6d269fdcef2b68c10a97a786a79a4732a12738363f679bfb282430cd", + "upstream550/physical/upstream/complex-local/README.md": "d2095fcda12f0350d1a03787b04bb7f0a0a886698b83fbfe734beef3e7c107be", + "upstream550/physical/upstream/complex-local/SOURCE-MANIFEST.json": "b91c0d923affac87ce0bad7083d4640758930f82628f042bed7aaccf528973cc", + "upstream550/physical/upstream/pr544-NOTICE.md": "9217b11e4ad37d5a414ef90823b4e834c027078a24497f3ed7f86179f4cb3240", + "upstream550/physical/vendor/pr531/code/adapters_local.py": "4e89a5c517cd87ff6a5aa9b7334c0d74821179ae5777d31284da25b9d8abf113", + "upstream550/physical/vendor/pr531/code/audit_and_transport.py": "a4fc272266785e1fffd44775c6fa6df783c4352de4c3f1d925cf953a23b84e7f", + "upstream550/physical/vendor/pr531/code/audit_local.py": "69b12c45d0a961175a824c1967353c7f3b94818a7dd6ac7bbcf56a6d1a5ed8e8", + "upstream550/physical/vendor/pr531/code/audit_supplier_hosted.py": "301e9b5c593b6d583065337eb7b3ef207cf039e265f099f89080a4bf25856b43", + "upstream550/physical/vendor/pr531/code/emit_local.py": "eefc76e0bee003015fe21ac685c2cce658033d5444add404d2d509c7d6f39bac", + "upstream550/physical/vendor/pr531/code/emit_supplier_hosted.py": "53c0b653b3a5100756d6a9473c90101b8c3ab72723d7047983906ab997bdf920", + "upstream550/physical/vendor/pr531/code/invoice_final.py": "96b6bed96ca8b60dfc064cd1c7962c45a5cb53c4e52cd90aaea6ccf8d109db97", + "upstream550/physical/vendor/pr531/code/prepare_supplier_base.py": "f5eae94aca965d0008bc07cff8245ccb7509042ccad457d3bcb7d51c1e9409f0", + "upstream550/physical/vendor/pr531/vendor/clifford/clifford_exact.py": "2982ead07721e83358dc67c6f49c2b4c16a236a6bebdfd72f58221be1f5d0962", + "upstream550/verify.py": "463586a71aa780c9dac686149cb67cb7a9fbcfd17d479f0b49246646733ab766" +} diff --git a/research/complex-trace-joint-retiming/PLAN.json b/research/complex-trace-joint-retiming/PLAN.json new file mode 100644 index 0000000000..0b49407e5b --- /dev/null +++ b/research/complex-trace-joint-retiming/PLAN.json @@ -0,0 +1,11388 @@ +{ + "status": "SOURCE_BOUND_PORTED534_STATIC44_SATURATION_PLAN", + "mode": "frozen-saturation-pattern-time-matching", + "K": 4, + "T": 8, + "M": 73, + "L": 9, + "live": 7168, + "deficit": 2560, + "profile": { + "1": 163872, + "2": 37456, + "3": 31011, + "4": 14688, + "5": 4032, + "6": 4032, + "7": 208, + "8": 576, + "39": 1, + "48": 1660 + }, + "patterns": [ + [ + [ + 0, + 0 + ], + [ + 9 + ], + 80 + ], + [ + [ + 0, + 0 + ], + [ + 8, + 8 + ], + 32 + ], + [ + [ + 0, + 2 + ], + [ + 8, + 8 + ], + 56 + ], + [ + [ + 0, + 2 + ], + [ + 5, + 9 + ], + 56 + ], + [ + [ + 0, + 1 + ], + [ + 8 + ], + 112 + ], + [ + [ + 0, + 3 + ], + [ + 8 + ], + 112 + ], + [ + [ + 0, + 4 + ], + [ + 5, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 0, + 6 + ], + [ + 5, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 0, + 5 + ], + [ + 8 + ], + 112 + ], + [ + [ + 0, + 7 + ], + [ + 8 + ], + 112 + ], + [ + [ + 0, + 8 + ], + [], + 98 + ], + [ + [ + 0, + 8 + ], + [ + 9, + 9, + 9, + 9, + 9 + ], + 14 + ], + [ + [ + 0, + 10 + ], + [], + 66 + ], + [ + [ + 0, + 10 + ], + [ + 9, + 9, + 9, + 9, + 9 + ], + 46 + ], + [ + [ + 0, + 9 + ], + [ + 8 + ], + 112 + ], + [ + [ + 0, + 11 + ], + [ + 8 + ], + 112 + ], + [ + [ + 0, + 12 + ], + [ + 9, + 9, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 0, + 13 + ], + [ + 9, + 9, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 0, + 14 + ], + [ + 5, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 0, + 15 + ], + [ + 5, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 0, + 16 + ], + [ + 8, + 8 + ], + 112 + ], + [ + [ + 0, + 17 + ], + [ + 8, + 8 + ], + 112 + ], + [ + [ + 1, + 0 + ], + [ + 8, + 8 + ], + 68 + ], + [ + [ + 1, + 0 + ], + [ + 5, + 9 + ], + 44 + ], + [ + [ + 1, + 2 + ], + [ + 9 + ], + 14 + ], + [ + [ + 1, + 2 + ], + [ + 8, + 8 + ], + 56 + ], + [ + [ + 1, + 2 + ], + [ + 5, + 9 + ], + 42 + ], + [ + [ + 1, + 1 + ], + [ + 8 + ], + 112 + ], + [ + [ + 1, + 3 + ], + [ + 8 + ], + 112 + ], + [ + [ + 1, + 4 + ], + [ + 5, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 1, + 6 + ], + [ + 5, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 1, + 5 + ], + [ + 8 + ], + 112 + ], + [ + [ + 1, + 7 + ], + [ + 8 + ], + 112 + ], + [ + [ + 1, + 8 + ], + [ + 9, + 9, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 1, + 10 + ], + [], + 107 + ], + [ + [ + 1, + 10 + ], + [ + 9 + ], + 1 + ], + [ + [ + 1, + 10 + ], + [ + 9, + 9, + 9, + 9, + 9 + ], + 4 + ], + [ + [ + 1, + 9 + ], + [ + 8 + ], + 112 + ], + [ + [ + 1, + 11 + ], + [ + 8 + ], + 112 + ], + [ + [ + 1, + 12 + ], + [], + 112 + ], + [ + [ + 1, + 13 + ], + [ + 9, + 9, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 1, + 14 + ], + [ + 5, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 1, + 15 + ], + [ + 5, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 1, + 16 + ], + [ + 8, + 8 + ], + 112 + ], + [ + [ + 1, + 17 + ], + [ + 8, + 8 + ], + 112 + ], + [ + [ + 2, + 0 + ], + [ + 9 + ], + 44 + ], + [ + [ + 2, + 0 + ], + [ + 8, + 8 + ], + 56 + ], + [ + [ + 2, + 0 + ], + [ + 5, + 9 + ], + 12 + ], + [ + [ + 2, + 2 + ], + [ + 8, + 8 + ], + 98 + ], + [ + [ + 2, + 2 + ], + [ + 5, + 9 + ], + 14 + ], + [ + [ + 2, + 1 + ], + [ + 8 + ], + 112 + ], + [ + [ + 2, + 3 + ], + [ + 8 + ], + 112 + ], + [ + [ + 2, + 4 + ], + [ + 5, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 2, + 6 + ], + [ + 5, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 2, + 5 + ], + [ + 8 + ], + 112 + ], + [ + [ + 2, + 7 + ], + [ + 8 + ], + 112 + ], + [ + [ + 2, + 8 + ], + [ + 9, + 9, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 2, + 10 + ], + [ + 9, + 9, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 2, + 9 + ], + [ + 8 + ], + 112 + ], + [ + [ + 2, + 11 + ], + [ + 8 + ], + 112 + ], + [ + [ + 2, + 12 + ], + [], + 112 + ], + [ + [ + 2, + 13 + ], + [ + 9, + 9, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 2, + 14 + ], + [ + 5, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 2, + 15 + ], + [ + 5, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 2, + 16 + ], + [ + 8, + 8 + ], + 112 + ], + [ + [ + 2, + 17 + ], + [ + 8, + 8 + ], + 112 + ], + [ + [ + 3, + 0 + ], + [ + 8, + 8 + ], + 56 + ], + [ + [ + 3, + 0 + ], + [ + 5, + 9 + ], + 56 + ], + [ + [ + 3, + 2 + ], + [ + 9 + ], + 68 + ], + [ + [ + 3, + 2 + ], + [ + 8, + 8 + ], + 22 + ], + [ + [ + 3, + 2 + ], + [ + 5, + 9 + ], + 22 + ], + [ + [ + 3, + 1 + ], + [ + 8 + ], + 112 + ], + [ + [ + 3, + 3 + ], + [ + 8 + ], + 112 + ], + [ + [ + 3, + 4 + ], + [ + 5, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 3, + 6 + ], + [ + 5, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 3, + 5 + ], + [ + 8 + ], + 112 + ], + [ + [ + 3, + 7 + ], + [ + 8 + ], + 112 + ], + [ + [ + 3, + 8 + ], + [], + 112 + ], + [ + [ + 3, + 10 + ], + [], + 112 + ], + [ + [ + 3, + 9 + ], + [ + 8 + ], + 112 + ], + [ + [ + 3, + 11 + ], + [ + 8 + ], + 112 + ], + [ + [ + 3, + 12 + ], + [], + 112 + ], + [ + [ + 3, + 13 + ], + [], + 112 + ], + [ + [ + 3, + 14 + ], + [ + 5, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 3, + 15 + ], + [ + 5, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 3, + 16 + ], + [ + 8, + 8 + ], + 112 + ], + [ + [ + 3, + 17 + ], + [ + 8, + 8 + ], + 48 + ], + [ + [ + 3, + 17 + ], + [ + 5, + 9 + ], + 64 + ], + [ + [ + 4, + 0 + ], + [ + 8, + 8 + ], + 112 + ], + [ + [ + 4, + 2 + ], + [ + 9 + ], + 2 + ], + [ + [ + 4, + 2 + ], + [ + 8, + 8 + ], + 110 + ], + [ + [ + 4, + 1 + ], + [ + 8 + ], + 112 + ], + [ + [ + 4, + 3 + ], + [ + 8 + ], + 112 + ], + [ + [ + 4, + 4 + ], + [ + 5, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 4, + 6 + ], + [ + 5, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 4, + 5 + ], + [ + 8 + ], + 112 + ], + [ + [ + 4, + 7 + ], + [ + 8 + ], + 112 + ], + [ + [ + 4, + 8 + ], + [], + 112 + ], + [ + [ + 4, + 10 + ], + [ + 9, + 9, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 4, + 9 + ], + [ + 8 + ], + 112 + ], + [ + [ + 4, + 11 + ], + [ + 8 + ], + 112 + ], + [ + [ + 4, + 12 + ], + [ + 9, + 9, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 4, + 13 + ], + [], + 81 + ], + [ + [ + 4, + 13 + ], + [ + 9, + 9, + 9, + 9, + 9 + ], + 31 + ], + [ + [ + 4, + 14 + ], + [ + 5, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 4, + 15 + ], + [ + 5, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 4, + 16 + ], + [ + 8, + 8 + ], + 110 + ], + [ + [ + 4, + 16 + ], + [ + 5, + 9 + ], + 2 + ], + [ + [ + 4, + 17 + ], + [ + 8, + 8 + ], + 110 + ], + [ + [ + 4, + 17 + ], + [ + 5, + 9 + ], + 2 + ], + [ + [ + 5, + 0 + ], + [ + 8, + 8 + ], + 112 + ], + [ + [ + 5, + 2 + ], + [ + 8, + 8 + ], + 98 + ], + [ + [ + 5, + 2 + ], + [ + 5, + 9 + ], + 14 + ], + [ + [ + 5, + 1 + ], + [ + 8 + ], + 112 + ], + [ + [ + 5, + 3 + ], + [ + 8 + ], + 112 + ], + [ + [ + 5, + 4 + ], + [ + 5, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 5, + 6 + ], + [ + 5, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 5, + 5 + ], + [ + 8 + ], + 112 + ], + [ + [ + 5, + 7 + ], + [ + 8 + ], + 112 + ], + [ + [ + 5, + 8 + ], + [], + 77 + ], + [ + [ + 5, + 8 + ], + [ + 9, + 9, + 9, + 9, + 9 + ], + 35 + ], + [ + [ + 5, + 10 + ], + [ + 9, + 9, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 5, + 9 + ], + [ + 8 + ], + 112 + ], + [ + [ + 5, + 11 + ], + [ + 8 + ], + 112 + ], + [ + [ + 5, + 12 + ], + [ + 9, + 9, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 5, + 13 + ], + [ + 9, + 9, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 5, + 14 + ], + [ + 5, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 5, + 15 + ], + [ + 5, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 5, + 16 + ], + [ + 8, + 8 + ], + 112 + ], + [ + [ + 5, + 17 + ], + [ + 8, + 8 + ], + 84 + ], + [ + [ + 5, + 17 + ], + [ + 5, + 9 + ], + 28 + ], + [ + [ + 6, + 0 + ], + [ + 8, + 8 + ], + 106 + ], + [ + [ + 6, + 0 + ], + [ + 5, + 9 + ], + 6 + ], + [ + [ + 6, + 2 + ], + [ + 8, + 8 + ], + 112 + ], + [ + [ + 6, + 1 + ], + [ + 8 + ], + 112 + ], + [ + [ + 6, + 3 + ], + [ + 8 + ], + 112 + ], + [ + [ + 6, + 4 + ], + [ + 5, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 6, + 6 + ], + [ + 5, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 6, + 5 + ], + [ + 8 + ], + 112 + ], + [ + [ + 6, + 7 + ], + [ + 8 + ], + 112 + ], + [ + [ + 6, + 8 + ], + [], + 112 + ], + [ + [ + 6, + 10 + ], + [ + 9, + 9, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 6, + 9 + ], + [ + 8 + ], + 112 + ], + [ + [ + 6, + 11 + ], + [ + 8 + ], + 112 + ], + [ + [ + 6, + 12 + ], + [], + 112 + ], + [ + [ + 6, + 13 + ], + [], + 89 + ], + [ + [ + 6, + 13 + ], + [ + 9, + 9, + 9, + 9, + 9 + ], + 23 + ], + [ + [ + 6, + 14 + ], + [ + 5, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 6, + 15 + ], + [ + 5, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 6, + 16 + ], + [ + 8, + 8 + ], + 26 + ], + [ + [ + 6, + 16 + ], + [ + 5, + 9 + ], + 86 + ], + [ + [ + 6, + 17 + ], + [ + 8, + 8 + ], + 112 + ], + [ + [ + 7, + 0 + ], + [ + 8, + 8 + ], + 112 + ], + [ + [ + 7, + 2 + ], + [ + 8, + 8 + ], + 112 + ], + [ + [ + 7, + 1 + ], + [ + 8 + ], + 112 + ], + [ + [ + 7, + 3 + ], + [ + 8 + ], + 112 + ], + [ + [ + 7, + 4 + ], + [ + 5, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 7, + 6 + ], + [ + 5, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 7, + 5 + ], + [ + 8 + ], + 112 + ], + [ + [ + 7, + 7 + ], + [ + 8 + ], + 112 + ], + [ + [ + 7, + 8 + ], + [], + 67 + ], + [ + [ + 7, + 8 + ], + [ + 9, + 9, + 9, + 9, + 9 + ], + 45 + ], + [ + [ + 7, + 10 + ], + [ + 9, + 9, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 7, + 9 + ], + [ + 8 + ], + 112 + ], + [ + [ + 7, + 11 + ], + [ + 8 + ], + 112 + ], + [ + [ + 7, + 12 + ], + [], + 67 + ], + [ + [ + 7, + 12 + ], + [ + 9, + 9, + 9, + 9, + 9 + ], + 45 + ], + [ + [ + 7, + 13 + ], + [ + 9, + 9, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 7, + 14 + ], + [ + 5, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 7, + 15 + ], + [ + 5, + 9, + 9, + 9 + ], + 112 + ], + [ + [ + 7, + 16 + ], + [ + 8, + 8 + ], + 112 + ], + [ + [ + 7, + 17 + ], + [ + 8, + 8 + ], + 112 + ] + ], + "stage_assignments": [ + [ + [ + 0, + 0 + ], + 9, + 1, + 80 + ], + [ + [ + 0, + 0 + ], + 8, + 2, + 64 + ], + [ + [ + 0, + 2 + ], + 9, + 0, + 56 + ], + [ + [ + 0, + 2 + ], + 8, + 1, + 112 + ], + [ + [ + 0, + 2 + ], + 5, + 2, + 56 + ], + [ + [ + 0, + 1 + ], + 8, + 3, + 112 + ], + [ + [ + 0, + 3 + ], + 8, + 4, + 112 + ], + [ + [ + 0, + 4 + ], + 9, + 0, + 68 + ], + [ + [ + 0, + 4 + ], + 5, + 4, + 56 + ], + [ + [ + 0, + 4 + ], + 9, + 5, + 88 + ], + [ + [ + 0, + 4 + ], + 9, + 7, + 112 + ], + [ + [ + 0, + 4 + ], + 5, + 8, + 56 + ], + [ + [ + 0, + 4 + ], + 9, + 9, + 68 + ], + [ + [ + 0, + 6 + ], + 9, + 3, + 112 + ], + [ + [ + 0, + 6 + ], + 5, + 6, + 56 + ], + [ + [ + 0, + 6 + ], + 5, + 7, + 56 + ], + [ + [ + 0, + 6 + ], + 9, + 8, + 112 + ], + [ + [ + 0, + 6 + ], + 9, + 9, + 112 + ], + [ + [ + 0, + 5 + ], + 8, + 10, + 112 + ], + [ + [ + 0, + 7 + ], + 8, + 11, + 44 + ], + [ + [ + 0, + 7 + ], + 8, + 12, + 4 + ], + [ + [ + 0, + 7 + ], + 8, + 14, + 64 + ], + [ + [ + 0, + 8 + ], + 9, + 20, + 70 + ], + [ + [ + 0, + 10 + ], + 9, + 3, + 5 + ], + [ + [ + 0, + 10 + ], + 9, + 7, + 68 + ], + [ + [ + 0, + 10 + ], + 9, + 10, + 3 + ], + [ + [ + 0, + 10 + ], + 9, + 12, + 42 + ], + [ + [ + 0, + 10 + ], + 9, + 18, + 112 + ], + [ + [ + 0, + 9 + ], + 8, + 27, + 92 + ], + [ + [ + 0, + 9 + ], + 8, + 28, + 20 + ], + [ + [ + 0, + 11 + ], + 8, + 23, + 20 + ], + [ + [ + 0, + 11 + ], + 8, + 26, + 92 + ], + [ + [ + 0, + 12 + ], + 9, + 27, + 112 + ], + [ + [ + 0, + 12 + ], + 9, + 29, + 68 + ], + [ + [ + 0, + 12 + ], + 9, + 32, + 68 + ], + [ + [ + 0, + 12 + ], + 9, + 34, + 112 + ], + [ + [ + 0, + 12 + ], + 9, + 36, + 88 + ], + [ + [ + 0, + 12 + ], + 9, + 41, + 112 + ], + [ + [ + 0, + 13 + ], + 9, + 8, + 112 + ], + [ + [ + 0, + 13 + ], + 9, + 16, + 95 + ], + [ + [ + 0, + 13 + ], + 9, + 27, + 3 + ], + [ + [ + 0, + 13 + ], + 9, + 28, + 112 + ], + [ + [ + 0, + 13 + ], + 9, + 35, + 58 + ], + [ + [ + 0, + 13 + ], + 9, + 40, + 112 + ], + [ + [ + 0, + 13 + ], + 9, + 41, + 68 + ], + [ + [ + 0, + 14 + ], + 9, + 26, + 112 + ], + [ + [ + 0, + 14 + ], + 9, + 32, + 112 + ], + [ + [ + 0, + 14 + ], + 5, + 37, + 56 + ], + [ + [ + 0, + 14 + ], + 5, + 39, + 56 + ], + [ + [ + 0, + 14 + ], + 9, + 41, + 112 + ], + [ + [ + 0, + 15 + ], + 9, + 17, + 2 + ], + [ + [ + 0, + 15 + ], + 9, + 19, + 1 + ], + [ + [ + 0, + 15 + ], + 5, + 20, + 56 + ], + [ + [ + 0, + 15 + ], + 5, + 26, + 56 + ], + [ + [ + 0, + 15 + ], + 9, + 30, + 112 + ], + [ + [ + 0, + 15 + ], + 9, + 37, + 112 + ], + [ + [ + 0, + 15 + ], + 9, + 43, + 109 + ], + [ + [ + 0, + 16 + ], + 8, + 33, + 68 + ], + [ + [ + 0, + 16 + ], + 8, + 39, + 44 + ], + [ + [ + 0, + 16 + ], + 8, + 43, + 112 + ], + [ + [ + 0, + 17 + ], + 8, + 32, + 44 + ], + [ + [ + 0, + 17 + ], + 8, + 38, + 96 + ], + [ + [ + 0, + 17 + ], + 8, + 41, + 44 + ], + [ + [ + 0, + 17 + ], + 8, + 44, + 40 + ], + [ + [ + 1, + 0 + ], + 8, + 1, + 44 + ], + [ + [ + 1, + 0 + ], + 8, + 2, + 92 + ], + [ + [ + 1, + 0 + ], + 5, + 3, + 44 + ], + [ + [ + 1, + 0 + ], + 9, + 3, + 44 + ], + [ + [ + 1, + 2 + ], + 8, + 0, + 112 + ], + [ + [ + 1, + 2 + ], + 5, + 1, + 42 + ], + [ + [ + 1, + 2 + ], + 9, + 4, + 56 + ], + [ + [ + 1, + 1 + ], + 8, + 6, + 112 + ], + [ + [ + 1, + 3 + ], + 8, + 7, + 44 + ], + [ + [ + 1, + 3 + ], + 8, + 8, + 68 + ], + [ + [ + 1, + 4 + ], + 9, + 1, + 112 + ], + [ + [ + 1, + 4 + ], + 9, + 2, + 75 + ], + [ + [ + 1, + 4 + ], + 5, + 3, + 12 + ], + [ + [ + 1, + 4 + ], + 9, + 7, + 112 + ], + [ + [ + 1, + 4 + ], + 9, + 8, + 13 + ], + [ + [ + 1, + 4 + ], + 5, + 10, + 56 + ], + [ + [ + 1, + 4 + ], + 9, + 11, + 12 + ], + [ + [ + 1, + 4 + ], + 5, + 13, + 44 + ], + [ + [ + 1, + 4 + ], + 9, + 13, + 12 + ], + [ + [ + 1, + 6 + ], + 9, + 3, + 103 + ], + [ + [ + 1, + 6 + ], + 5, + 5, + 34 + ], + [ + [ + 1, + 6 + ], + 5, + 9, + 56 + ], + [ + [ + 1, + 6 + ], + 9, + 11, + 112 + ], + [ + [ + 1, + 6 + ], + 5, + 12, + 22 + ], + [ + [ + 1, + 6 + ], + 9, + 12, + 9 + ], + [ + [ + 1, + 6 + ], + 9, + 13, + 112 + ], + [ + [ + 1, + 5 + ], + 8, + 15, + 44 + ], + [ + [ + 1, + 5 + ], + 8, + 17, + 44 + ], + [ + [ + 1, + 5 + ], + 8, + 18, + 24 + ], + [ + [ + 1, + 7 + ], + 8, + 14, + 4 + ], + [ + [ + 1, + 7 + ], + 8, + 18, + 20 + ], + [ + [ + 1, + 7 + ], + 8, + 19, + 88 + ], + [ + [ + 1, + 8 + ], + 9, + 4, + 108 + ], + [ + [ + 1, + 8 + ], + 9, + 6, + 53 + ], + [ + [ + 1, + 8 + ], + 9, + 14, + 106 + ], + [ + [ + 1, + 8 + ], + 9, + 19, + 112 + ], + [ + [ + 1, + 8 + ], + 9, + 21, + 112 + ], + [ + [ + 1, + 8 + ], + 9, + 26, + 69 + ], + [ + [ + 1, + 10 + ], + 9, + 21, + 21 + ], + [ + [ + 1, + 9 + ], + 8, + 28, + 112 + ], + [ + [ + 1, + 11 + ], + 8, + 31, + 24 + ], + [ + [ + 1, + 11 + ], + 8, + 34, + 88 + ], + [ + [ + 1, + 13 + ], + 9, + 36, + 92 + ], + [ + [ + 1, + 13 + ], + 9, + 37, + 112 + ], + [ + [ + 1, + 13 + ], + 9, + 39, + 68 + ], + [ + [ + 1, + 13 + ], + 9, + 40, + 46 + ], + [ + [ + 1, + 13 + ], + 9, + 42, + 112 + ], + [ + [ + 1, + 13 + ], + 9, + 44, + 107 + ], + [ + [ + 1, + 13 + ], + 9, + 45, + 23 + ], + [ + [ + 1, + 14 + ], + 9, + 22, + 88 + ], + [ + [ + 1, + 14 + ], + 5, + 32, + 50 + ], + [ + [ + 1, + 14 + ], + 5, + 33, + 6 + ], + [ + [ + 1, + 14 + ], + 9, + 37, + 68 + ], + [ + [ + 1, + 14 + ], + 9, + 44, + 112 + ], + [ + [ + 1, + 14 + ], + 9, + 47, + 12 + ], + [ + [ + 1, + 14 + ], + 5, + 48, + 56 + ], + [ + [ + 1, + 14 + ], + 9, + 48, + 56 + ], + [ + [ + 1, + 15 + ], + 9, + 25, + 112 + ], + [ + [ + 1, + 15 + ], + 9, + 27, + 44 + ], + [ + [ + 1, + 15 + ], + 5, + 35, + 54 + ], + [ + [ + 1, + 15 + ], + 5, + 40, + 56 + ], + [ + [ + 1, + 15 + ], + 9, + 44, + 68 + ], + [ + [ + 1, + 15 + ], + 9, + 46, + 112 + ], + [ + [ + 1, + 15 + ], + 5, + 47, + 2 + ], + [ + [ + 1, + 16 + ], + 8, + 38, + 36 + ], + [ + [ + 1, + 16 + ], + 8, + 40, + 44 + ], + [ + [ + 1, + 16 + ], + 8, + 42, + 88 + ], + [ + [ + 1, + 16 + ], + 8, + 49, + 56 + ], + [ + [ + 1, + 17 + ], + 8, + 44, + 112 + ], + [ + [ + 1, + 17 + ], + 8, + 50, + 112 + ], + [ + [ + 2, + 0 + ], + 5, + 0, + 12 + ], + [ + [ + 2, + 0 + ], + 9, + 2, + 44 + ], + [ + [ + 2, + 0 + ], + 9, + 4, + 12 + ], + [ + [ + 2, + 0 + ], + 8, + 5, + 112 + ], + [ + [ + 2, + 2 + ], + 8, + 0, + 20 + ], + [ + [ + 2, + 2 + ], + 5, + 1, + 14 + ], + [ + [ + 2, + 2 + ], + 8, + 4, + 44 + ], + [ + [ + 2, + 2 + ], + 8, + 5, + 20 + ], + [ + [ + 2, + 2 + ], + 9, + 6, + 14 + ], + [ + [ + 2, + 2 + ], + 8, + 7, + 112 + ], + [ + [ + 2, + 1 + ], + 8, + 8, + 44 + ], + [ + [ + 2, + 1 + ], + 8, + 9, + 68 + ], + [ + [ + 2, + 3 + ], + 8, + 11, + 112 + ], + [ + [ + 2, + 4 + ], + 9, + 4, + 112 + ], + [ + [ + 2, + 4 + ], + 9, + 10, + 112 + ], + [ + [ + 2, + 4 + ], + 5, + 12, + 34 + ], + [ + [ + 2, + 4 + ], + 9, + 12, + 1 + ], + [ + [ + 2, + 4 + ], + 5, + 14, + 24 + ], + [ + [ + 2, + 4 + ], + 5, + 16, + 54 + ], + [ + [ + 2, + 4 + ], + 9, + 16, + 58 + ], + [ + [ + 2, + 4 + ], + 9, + 17, + 53 + ], + [ + [ + 2, + 6 + ], + 5, + 0, + 44 + ], + [ + [ + 2, + 6 + ], + 9, + 0, + 56 + ], + [ + [ + 2, + 6 + ], + 5, + 13, + 12 + ], + [ + [ + 2, + 6 + ], + 9, + 13, + 56 + ], + [ + [ + 2, + 6 + ], + 9, + 15, + 112 + ], + [ + [ + 2, + 6 + ], + 5, + 17, + 56 + ], + [ + [ + 2, + 6 + ], + 9, + 18, + 112 + ], + [ + [ + 2, + 5 + ], + 8, + 20, + 112 + ], + [ + [ + 2, + 7 + ], + 8, + 19, + 24 + ], + [ + [ + 2, + 7 + ], + 8, + 24, + 44 + ], + [ + [ + 2, + 7 + ], + 8, + 25, + 44 + ], + [ + [ + 2, + 8 + ], + 9, + 5, + 22 + ], + [ + [ + 2, + 8 + ], + 9, + 12, + 112 + ], + [ + [ + 2, + 8 + ], + 9, + 14, + 112 + ], + [ + [ + 2, + 8 + ], + 9, + 20, + 110 + ], + [ + [ + 2, + 8 + ], + 9, + 22, + 92 + ], + [ + [ + 2, + 8 + ], + 9, + 31, + 112 + ], + [ + [ + 2, + 10 + ], + 9, + 6, + 112 + ], + [ + [ + 2, + 10 + ], + 9, + 10, + 112 + ], + [ + [ + 2, + 10 + ], + 9, + 25, + 112 + ], + [ + [ + 2, + 10 + ], + 9, + 28, + 112 + ], + [ + [ + 2, + 10 + ], + 9, + 31, + 44 + ], + [ + [ + 2, + 10 + ], + 9, + 33, + 68 + ], + [ + [ + 2, + 9 + ], + 8, + 34, + 68 + ], + [ + [ + 2, + 9 + ], + 8, + 41, + 44 + ], + [ + [ + 2, + 11 + ], + 8, + 40, + 112 + ], + [ + [ + 2, + 13 + ], + 9, + 14, + 45 + ], + [ + [ + 2, + 13 + ], + 9, + 23, + 112 + ], + [ + [ + 2, + 13 + ], + 9, + 42, + 67 + ], + [ + [ + 2, + 13 + ], + 9, + 49, + 112 + ], + [ + [ + 2, + 13 + ], + 9, + 53, + 112 + ], + [ + [ + 2, + 13 + ], + 9, + 54, + 112 + ], + [ + [ + 2, + 14 + ], + 5, + 29, + 56 + ], + [ + [ + 2, + 14 + ], + 5, + 34, + 2 + ], + [ + [ + 2, + 14 + ], + 9, + 40, + 20 + ], + [ + [ + 2, + 14 + ], + 9, + 42, + 112 + ], + [ + [ + 2, + 14 + ], + 9, + 43, + 92 + ], + [ + [ + 2, + 14 + ], + 5, + 47, + 54 + ], + [ + [ + 2, + 14 + ], + 9, + 52, + 112 + ], + [ + [ + 2, + 15 + ], + 9, + 29, + 112 + ], + [ + [ + 2, + 15 + ], + 9, + 31, + 112 + ], + [ + [ + 2, + 15 + ], + 9, + 35, + 12 + ], + [ + [ + 2, + 15 + ], + 5, + 50, + 56 + ], + [ + [ + 2, + 15 + ], + 5, + 53, + 56 + ], + [ + [ + 2, + 15 + ], + 9, + 55, + 100 + ], + [ + [ + 2, + 16 + ], + 8, + 45, + 112 + ], + [ + [ + 2, + 16 + ], + 8, + 54, + 44 + ], + [ + [ + 2, + 16 + ], + 8, + 56, + 68 + ], + [ + [ + 2, + 17 + ], + 8, + 48, + 112 + ], + [ + [ + 2, + 17 + ], + 8, + 53, + 112 + ], + [ + [ + 3, + 0 + ], + 8, + 0, + 24 + ], + [ + [ + 3, + 0 + ], + 8, + 9, + 88 + ], + [ + [ + 3, + 0 + ], + 5, + 11, + 56 + ], + [ + [ + 3, + 0 + ], + 9, + 11, + 56 + ], + [ + [ + 3, + 2 + ], + 5, + 5, + 22 + ], + [ + [ + 3, + 2 + ], + 9, + 5, + 90 + ], + [ + [ + 3, + 2 + ], + 8, + 10, + 44 + ], + [ + [ + 3, + 1 + ], + 8, + 13, + 44 + ], + [ + [ + 3, + 1 + ], + 8, + 14, + 68 + ], + [ + [ + 3, + 3 + ], + 8, + 13, + 112 + ], + [ + [ + 3, + 4 + ], + 9, + 2, + 104 + ], + [ + [ + 3, + 4 + ], + 5, + 14, + 12 + ], + [ + [ + 3, + 4 + ], + 9, + 15, + 52 + ], + [ + [ + 3, + 4 + ], + 9, + 17, + 112 + ], + [ + [ + 3, + 4 + ], + 5, + 18, + 44 + ], + [ + [ + 3, + 4 + ], + 9, + 18, + 68 + ], + [ + [ + 3, + 4 + ], + 5, + 24, + 56 + ], + [ + [ + 3, + 6 + ], + 9, + 5, + 56 + ], + [ + [ + 3, + 6 + ], + 9, + 11, + 112 + ], + [ + [ + 3, + 6 + ], + 9, + 12, + 56 + ], + [ + [ + 3, + 6 + ], + 9, + 13, + 112 + ], + [ + [ + 3, + 6 + ], + 5, + 19, + 56 + ], + [ + [ + 3, + 6 + ], + 5, + 22, + 56 + ], + [ + [ + 3, + 5 + ], + 8, + 31, + 112 + ], + [ + [ + 3, + 7 + ], + 8, + 27, + 48 + ], + [ + [ + 3, + 7 + ], + 8, + 30, + 64 + ], + [ + [ + 3, + 9 + ], + 8, + 44, + 4 + ], + [ + [ + 3, + 9 + ], + 8, + 45, + 44 + ], + [ + [ + 3, + 9 + ], + 8, + 47, + 44 + ], + [ + [ + 3, + 9 + ], + 8, + 48, + 20 + ], + [ + [ + 3, + 11 + ], + 8, + 47, + 112 + ], + [ + [ + 3, + 14 + ], + 9, + 39, + 112 + ], + [ + [ + 3, + 14 + ], + 9, + 43, + 3 + ], + [ + [ + 3, + 14 + ], + 9, + 51, + 109 + ], + [ + [ + 3, + 14 + ], + 5, + 52, + 56 + ], + [ + [ + 3, + 14 + ], + 9, + 53, + 112 + ], + [ + [ + 3, + 14 + ], + 5, + 54, + 56 + ], + [ + [ + 3, + 15 + ], + 9, + 38, + 112 + ], + [ + [ + 3, + 15 + ], + 5, + 41, + 56 + ], + [ + [ + 3, + 15 + ], + 9, + 47, + 56 + ], + [ + [ + 3, + 15 + ], + 9, + 49, + 112 + ], + [ + [ + 3, + 15 + ], + 9, + 59, + 56 + ], + [ + [ + 3, + 15 + ], + 5, + 60, + 56 + ], + [ + [ + 3, + 16 + ], + 8, + 50, + 24 + ], + [ + [ + 3, + 16 + ], + 8, + 54, + 112 + ], + [ + [ + 3, + 16 + ], + 8, + 55, + 44 + ], + [ + [ + 3, + 16 + ], + 8, + 58, + 44 + ], + [ + [ + 3, + 17 + ], + 8, + 51, + 44 + ], + [ + [ + 3, + 17 + ], + 8, + 53, + 8 + ], + [ + [ + 3, + 17 + ], + 9, + 56, + 64 + ], + [ + [ + 3, + 17 + ], + 5, + 57, + 56 + ], + [ + [ + 3, + 17 + ], + 5, + 58, + 8 + ], + [ + [ + 3, + 17 + ], + 8, + 58, + 44 + ], + [ + [ + 4, + 0 + ], + 8, + 3, + 44 + ], + [ + [ + 4, + 0 + ], + 8, + 8, + 44 + ], + [ + [ + 4, + 0 + ], + 8, + 12, + 44 + ], + [ + [ + 4, + 0 + ], + 8, + 16, + 92 + ], + [ + [ + 4, + 2 + ], + 9, + 8, + 2 + ], + [ + [ + 4, + 2 + ], + 8, + 12, + 108 + ], + [ + [ + 4, + 2 + ], + 8, + 15, + 112 + ], + [ + [ + 4, + 1 + ], + 8, + 19, + 44 + ], + [ + [ + 4, + 1 + ], + 8, + 22, + 68 + ], + [ + [ + 4, + 3 + ], + 8, + 17, + 112 + ], + [ + [ + 4, + 4 + ], + 9, + 0, + 112 + ], + [ + [ + 4, + 4 + ], + 9, + 15, + 112 + ], + [ + [ + 4, + 4 + ], + 5, + 18, + 12 + ], + [ + [ + 4, + 4 + ], + 9, + 22, + 112 + ], + [ + [ + 4, + 4 + ], + 5, + 25, + 56 + ], + [ + [ + 4, + 4 + ], + 5, + 30, + 44 + ], + [ + [ + 4, + 6 + ], + 9, + 2, + 69 + ], + [ + [ + 4, + 6 + ], + 9, + 3, + 28 + ], + [ + [ + 4, + 6 + ], + 5, + 15, + 56 + ], + [ + [ + 4, + 6 + ], + 9, + 16, + 112 + ], + [ + [ + 4, + 6 + ], + 9, + 23, + 15 + ], + [ + [ + 4, + 6 + ], + 9, + 27, + 112 + ], + [ + [ + 4, + 6 + ], + 5, + 31, + 56 + ], + [ + [ + 4, + 5 + ], + 8, + 36, + 112 + ], + [ + [ + 4, + 7 + ], + 8, + 36, + 44 + ], + [ + [ + 4, + 7 + ], + 8, + 37, + 44 + ], + [ + [ + 4, + 7 + ], + 8, + 38, + 24 + ], + [ + [ + 4, + 10 + ], + 9, + 5, + 36 + ], + [ + [ + 4, + 10 + ], + 9, + 8, + 2 + ], + [ + [ + 4, + 10 + ], + 9, + 12, + 72 + ], + [ + [ + 4, + 10 + ], + 9, + 19, + 1 + ], + [ + [ + 4, + 10 + ], + 9, + 24, + 112 + ], + [ + [ + 4, + 10 + ], + 9, + 29, + 112 + ], + [ + [ + 4, + 10 + ], + 9, + 40, + 112 + ], + [ + [ + 4, + 10 + ], + 9, + 44, + 1 + ], + [ + [ + 4, + 10 + ], + 9, + 45, + 112 + ], + [ + [ + 4, + 9 + ], + 8, + 50, + 20 + ], + [ + [ + 4, + 9 + ], + 8, + 51, + 48 + ], + [ + [ + 4, + 9 + ], + 8, + 52, + 44 + ], + [ + [ + 4, + 11 + ], + 8, + 49, + 12 + ], + [ + [ + 4, + 11 + ], + 8, + 51, + 64 + ], + [ + [ + 4, + 11 + ], + 8, + 53, + 36 + ], + [ + [ + 4, + 12 + ], + 9, + 47, + 112 + ], + [ + [ + 4, + 12 + ], + 9, + 48, + 112 + ], + [ + [ + 4, + 12 + ], + 9, + 60, + 112 + ], + [ + [ + 4, + 12 + ], + 9, + 61, + 112 + ], + [ + [ + 4, + 12 + ], + 9, + 64, + 112 + ], + [ + [ + 4, + 13 + ], + 9, + 52, + 68 + ], + [ + [ + 4, + 13 + ], + 9, + 53, + 5 + ], + [ + [ + 4, + 13 + ], + 9, + 63, + 82 + ], + [ + [ + 4, + 14 + ], + 9, + 43, + 88 + ], + [ + [ + 4, + 14 + ], + 5, + 44, + 56 + ], + [ + [ + 4, + 14 + ], + 5, + 46, + 56 + ], + [ + [ + 4, + 14 + ], + 9, + 48, + 112 + ], + [ + [ + 4, + 14 + ], + 9, + 62, + 112 + ], + [ + [ + 4, + 14 + ], + 9, + 64, + 24 + ], + [ + [ + 4, + 15 + ], + 5, + 51, + 14 + ], + [ + [ + 4, + 15 + ], + 5, + 58, + 46 + ], + [ + [ + 4, + 15 + ], + 9, + 61, + 112 + ], + [ + [ + 4, + 15 + ], + 9, + 62, + 52 + ], + [ + [ + 4, + 15 + ], + 5, + 63, + 26 + ], + [ + [ + 4, + 15 + ], + 9, + 63, + 86 + ], + [ + [ + 4, + 15 + ], + 5, + 65, + 26 + ], + [ + [ + 4, + 15 + ], + 9, + 65, + 86 + ], + [ + [ + 4, + 16 + ], + 9, + 57, + 2 + ], + [ + [ + 4, + 16 + ], + 8, + 60, + 44 + ], + [ + [ + 4, + 16 + ], + 5, + 63, + 2 + ], + [ + [ + 4, + 16 + ], + 8, + 64, + 88 + ], + [ + [ + 4, + 16 + ], + 8, + 65, + 88 + ], + [ + [ + 4, + 17 + ], + 8, + 56, + 88 + ], + [ + [ + 4, + 17 + ], + 8, + 57, + 44 + ], + [ + [ + 4, + 17 + ], + 5, + 58, + 2 + ], + [ + [ + 4, + 17 + ], + 8, + 61, + 44 + ], + [ + [ + 4, + 17 + ], + 9, + 62, + 2 + ], + [ + [ + 4, + 17 + ], + 8, + 63, + 44 + ], + [ + [ + 5, + 0 + ], + 8, + 5, + 24 + ], + [ + [ + 5, + 0 + ], + 8, + 21, + 112 + ], + [ + [ + 5, + 0 + ], + 8, + 22, + 88 + ], + [ + [ + 5, + 2 + ], + 9, + 6, + 1 + ], + [ + [ + 5, + 2 + ], + 5, + 14, + 14 + ], + [ + [ + 5, + 2 + ], + 8, + 14, + 20 + ], + [ + [ + 5, + 2 + ], + 8, + 16, + 64 + ], + [ + [ + 5, + 2 + ], + 9, + 17, + 13 + ], + [ + [ + 5, + 2 + ], + 8, + 18, + 112 + ], + [ + [ + 5, + 1 + ], + 8, + 24, + 112 + ], + [ + [ + 5, + 3 + ], + 8, + 26, + 64 + ], + [ + [ + 5, + 3 + ], + 8, + 27, + 16 + ], + [ + [ + 5, + 3 + ], + 8, + 29, + 32 + ], + [ + [ + 5, + 4 + ], + 9, + 6, + 112 + ], + [ + [ + 5, + 4 + ], + 9, + 10, + 65 + ], + [ + [ + 5, + 4 + ], + 9, + 19, + 70 + ], + [ + [ + 5, + 4 + ], + 5, + 27, + 56 + ], + [ + [ + 5, + 4 + ], + 9, + 27, + 21 + ], + [ + [ + 5, + 4 + ], + 5, + 36, + 56 + ], + [ + [ + 5, + 4 + ], + 9, + 38, + 68 + ], + [ + [ + 5, + 6 + ], + 9, + 1, + 100 + ], + [ + [ + 5, + 6 + ], + 5, + 16, + 2 + ], + [ + [ + 5, + 6 + ], + 5, + 21, + 56 + ], + [ + [ + 5, + 6 + ], + 5, + 23, + 54 + ], + [ + [ + 5, + 6 + ], + 9, + 23, + 53 + ], + [ + [ + 5, + 6 + ], + 9, + 30, + 68 + ], + [ + [ + 5, + 6 + ], + 9, + 31, + 3 + ], + [ + [ + 5, + 6 + ], + 9, + 34, + 112 + ], + [ + [ + 5, + 5 + ], + 8, + 46, + 112 + ], + [ + [ + 5, + 7 + ], + 8, + 41, + 68 + ], + [ + [ + 5, + 7 + ], + 8, + 46, + 44 + ], + [ + [ + 5, + 8 + ], + 9, + 24, + 62 + ], + [ + [ + 5, + 8 + ], + 9, + 45, + 45 + ], + [ + [ + 5, + 8 + ], + 9, + 49, + 68 + ], + [ + [ + 5, + 10 + ], + 9, + 14, + 29 + ], + [ + [ + 5, + 10 + ], + 9, + 15, + 15 + ], + [ + [ + 5, + 10 + ], + 9, + 16, + 27 + ], + [ + [ + 5, + 10 + ], + 9, + 25, + 66 + ], + [ + [ + 5, + 10 + ], + 9, + 28, + 68 + ], + [ + [ + 5, + 10 + ], + 9, + 32, + 112 + ], + [ + [ + 5, + 10 + ], + 9, + 39, + 112 + ], + [ + [ + 5, + 10 + ], + 9, + 46, + 68 + ], + [ + [ + 5, + 10 + ], + 9, + 53, + 63 + ], + [ + [ + 5, + 9 + ], + 8, + 59, + 112 + ], + [ + [ + 5, + 11 + ], + 8, + 58, + 68 + ], + [ + [ + 5, + 11 + ], + 8, + 59, + 44 + ], + [ + [ + 5, + 12 + ], + 9, + 38, + 112 + ], + [ + [ + 5, + 12 + ], + 9, + 50, + 112 + ], + [ + [ + 5, + 12 + ], + 9, + 54, + 110 + ], + [ + [ + 5, + 12 + ], + 9, + 55, + 104 + ], + [ + [ + 5, + 12 + ], + 9, + 57, + 54 + ], + [ + [ + 5, + 12 + ], + 9, + 68, + 68 + ], + [ + [ + 5, + 13 + ], + 9, + 51, + 112 + ], + [ + [ + 5, + 13 + ], + 9, + 52, + 112 + ], + [ + [ + 5, + 13 + ], + 9, + 57, + 56 + ], + [ + [ + 5, + 13 + ], + 9, + 59, + 112 + ], + [ + [ + 5, + 13 + ], + 9, + 60, + 56 + ], + [ + [ + 5, + 13 + ], + 9, + 65, + 112 + ], + [ + [ + 5, + 14 + ], + 9, + 47, + 112 + ], + [ + [ + 5, + 14 + ], + 9, + 54, + 46 + ], + [ + [ + 5, + 14 + ], + 9, + 62, + 112 + ], + [ + [ + 5, + 14 + ], + 5, + 63, + 28 + ], + [ + [ + 5, + 14 + ], + 9, + 63, + 66 + ], + [ + [ + 5, + 14 + ], + 5, + 64, + 56 + ], + [ + [ + 5, + 14 + ], + 5, + 67, + 28 + ], + [ + [ + 5, + 15 + ], + 5, + 49, + 56 + ], + [ + [ + 5, + 15 + ], + 5, + 55, + 56 + ], + [ + [ + 5, + 15 + ], + 9, + 56, + 112 + ], + [ + [ + 5, + 15 + ], + 9, + 65, + 43 + ], + [ + [ + 5, + 15 + ], + 9, + 67, + 69 + ], + [ + [ + 5, + 15 + ], + 9, + 68, + 112 + ], + [ + [ + 5, + 16 + ], + 8, + 62, + 44 + ], + [ + [ + 5, + 16 + ], + 8, + 64, + 68 + ], + [ + [ + 5, + 16 + ], + 8, + 68, + 112 + ], + [ + [ + 5, + 17 + ], + 8, + 61, + 112 + ], + [ + [ + 5, + 17 + ], + 9, + 63, + 28 + ], + [ + [ + 5, + 17 + ], + 5, + 67, + 28 + ], + [ + [ + 5, + 17 + ], + 8, + 67, + 56 + ], + [ + [ + 6, + 0 + ], + 8, + 6, + 44 + ], + [ + [ + 6, + 0 + ], + 8, + 21, + 44 + ], + [ + [ + 6, + 0 + ], + 9, + 24, + 6 + ], + [ + [ + 6, + 0 + ], + 8, + 25, + 112 + ], + [ + [ + 6, + 0 + ], + 5, + 28, + 6 + ], + [ + [ + 6, + 0 + ], + 8, + 29, + 12 + ], + [ + [ + 6, + 2 + ], + 8, + 23, + 112 + ], + [ + [ + 6, + 2 + ], + 8, + 29, + 112 + ], + [ + [ + 6, + 1 + ], + 8, + 37, + 112 + ], + [ + [ + 6, + 3 + ], + 8, + 35, + 112 + ], + [ + [ + 6, + 4 + ], + 9, + 9, + 112 + ], + [ + [ + 6, + 4 + ], + 9, + 24, + 112 + ], + [ + [ + 6, + 4 + ], + 9, + 33, + 112 + ], + [ + [ + 6, + 4 + ], + 5, + 38, + 56 + ], + [ + [ + 6, + 4 + ], + 5, + 43, + 56 + ], + [ + [ + 6, + 6 + ], + 9, + 4, + 4 + ], + [ + [ + 6, + 6 + ], + 5, + 14, + 6 + ], + [ + [ + 6, + 6 + ], + 9, + 17, + 112 + ], + [ + [ + 6, + 6 + ], + 9, + 19, + 108 + ], + [ + [ + 6, + 6 + ], + 9, + 30, + 112 + ], + [ + [ + 6, + 6 + ], + 5, + 33, + 50 + ], + [ + [ + 6, + 6 + ], + 5, + 42, + 56 + ], + [ + [ + 6, + 5 + ], + 8, + 52, + 112 + ], + [ + [ + 6, + 7 + ], + 8, + 48, + 24 + ], + [ + [ + 6, + 7 + ], + 8, + 49, + 88 + ], + [ + [ + 6, + 10 + ], + 9, + 21, + 47 + ], + [ + [ + 6, + 10 + ], + 9, + 31, + 21 + ], + [ + [ + 6, + 10 + ], + 9, + 34, + 68 + ], + [ + [ + 6, + 10 + ], + 9, + 35, + 112 + ], + [ + [ + 6, + 10 + ], + 9, + 45, + 112 + ], + [ + [ + 6, + 10 + ], + 9, + 50, + 112 + ], + [ + [ + 6, + 10 + ], + 9, + 55, + 88 + ], + [ + [ + 6, + 9 + ], + 8, + 60, + 112 + ], + [ + [ + 6, + 11 + ], + 8, + 62, + 112 + ], + [ + [ + 6, + 13 + ], + 9, + 44, + 4 + ], + [ + [ + 6, + 13 + ], + 9, + 67, + 111 + ], + [ + [ + 6, + 14 + ], + 5, + 56, + 56 + ], + [ + [ + 6, + 14 + ], + 5, + 59, + 56 + ], + [ + [ + 6, + 14 + ], + 9, + 66, + 112 + ], + [ + [ + 6, + 14 + ], + 9, + 67, + 112 + ], + [ + [ + 6, + 14 + ], + 9, + 68, + 112 + ], + [ + [ + 6, + 15 + ], + 9, + 57, + 68 + ], + [ + [ + 6, + 15 + ], + 9, + 60, + 11 + ], + [ + [ + 6, + 15 + ], + 5, + 62, + 56 + ], + [ + [ + 6, + 15 + ], + 9, + 65, + 33 + ], + [ + [ + 6, + 15 + ], + 5, + 66, + 56 + ], + [ + [ + 6, + 15 + ], + 9, + 69, + 112 + ], + [ + [ + 6, + 15 + ], + 9, + 70, + 112 + ], + [ + [ + 6, + 16 + ], + 5, + 65, + 30 + ], + [ + [ + 6, + 16 + ], + 9, + 65, + 18 + ], + [ + [ + 6, + 16 + ], + 8, + 67, + 8 + ], + [ + [ + 6, + 16 + ], + 8, + 68, + 44 + ], + [ + [ + 6, + 16 + ], + 9, + 69, + 68 + ], + [ + [ + 6, + 16 + ], + 5, + 70, + 56 + ], + [ + [ + 6, + 17 + ], + 8, + 66, + 112 + ], + [ + [ + 6, + 17 + ], + 8, + 69, + 44 + ], + [ + [ + 6, + 17 + ], + 8, + 70, + 68 + ], + [ + [ + 7, + 0 + ], + 8, + 28, + 24 + ], + [ + [ + 7, + 0 + ], + 8, + 30, + 92 + ], + [ + [ + 7, + 0 + ], + 8, + 31, + 20 + ], + [ + [ + 7, + 0 + ], + 8, + 33, + 88 + ], + [ + [ + 7, + 2 + ], + 8, + 20, + 44 + ], + [ + [ + 7, + 2 + ], + 8, + 23, + 24 + ], + [ + [ + 7, + 2 + ], + 8, + 32, + 112 + ], + [ + [ + 7, + 2 + ], + 8, + 35, + 44 + ], + [ + [ + 7, + 1 + ], + 8, + 39, + 68 + ], + [ + [ + 7, + 1 + ], + 8, + 43, + 44 + ], + [ + [ + 7, + 3 + ], + 8, + 39, + 44 + ], + [ + [ + 7, + 3 + ], + 8, + 42, + 68 + ], + [ + [ + 7, + 4 + ], + 9, + 21, + 112 + ], + [ + [ + 7, + 4 + ], + 5, + 28, + 50 + ], + [ + [ + 7, + 4 + ], + 5, + 32, + 6 + ], + [ + [ + 7, + 4 + ], + 9, + 33, + 112 + ], + [ + [ + 7, + 4 + ], + 5, + 34, + 54 + ], + [ + [ + 7, + 4 + ], + 5, + 35, + 2 + ], + [ + [ + 7, + 4 + ], + 9, + 35, + 110 + ], + [ + [ + 7, + 4 + ], + 9, + 40, + 2 + ], + [ + [ + 7, + 6 + ], + 5, + 23, + 2 + ], + [ + [ + 7, + 6 + ], + 9, + 26, + 111 + ], + [ + [ + 7, + 6 + ], + 5, + 30, + 12 + ], + [ + [ + 7, + 6 + ], + 9, + 36, + 112 + ], + [ + [ + 7, + 6 + ], + 9, + 42, + 1 + ], + [ + [ + 7, + 6 + ], + 5, + 45, + 56 + ], + [ + [ + 7, + 6 + ], + 9, + 46, + 112 + ], + [ + [ + 7, + 6 + ], + 5, + 51, + 42 + ], + [ + [ + 7, + 5 + ], + 8, + 55, + 112 + ], + [ + [ + 7, + 7 + ], + 8, + 57, + 112 + ], + [ + [ + 7, + 8 + ], + 9, + 15, + 1 + ], + [ + [ + 7, + 8 + ], + 9, + 56, + 112 + ], + [ + [ + 7, + 8 + ], + 9, + 58, + 112 + ], + [ + [ + 7, + 10 + ], + 9, + 8, + 51 + ], + [ + [ + 7, + 10 + ], + 9, + 20, + 112 + ], + [ + [ + 7, + 10 + ], + 9, + 23, + 112 + ], + [ + [ + 7, + 10 + ], + 9, + 25, + 2 + ], + [ + [ + 7, + 10 + ], + 9, + 50, + 16 + ], + [ + [ + 7, + 10 + ], + 9, + 51, + 71 + ], + [ + [ + 7, + 10 + ], + 9, + 54, + 24 + ], + [ + [ + 7, + 10 + ], + 9, + 56, + 4 + ], + [ + [ + 7, + 10 + ], + 9, + 59, + 112 + ], + [ + [ + 7, + 10 + ], + 9, + 61, + 56 + ], + [ + [ + 7, + 9 + ], + 8, + 65, + 68 + ], + [ + [ + 7, + 9 + ], + 8, + 66, + 44 + ], + [ + [ + 7, + 11 + ], + 8, + 63, + 112 + ], + [ + [ + 7, + 12 + ], + 9, + 60, + 1 + ], + [ + [ + 7, + 12 + ], + 9, + 64, + 112 + ], + [ + [ + 7, + 12 + ], + 9, + 71, + 112 + ], + [ + [ + 7, + 13 + ], + 9, + 48, + 12 + ], + [ + [ + 7, + 13 + ], + 9, + 50, + 52 + ], + [ + [ + 7, + 13 + ], + 9, + 57, + 112 + ], + [ + [ + 7, + 13 + ], + 9, + 58, + 92 + ], + [ + [ + 7, + 13 + ], + 9, + 59, + 12 + ], + [ + [ + 7, + 13 + ], + 9, + 60, + 112 + ], + [ + [ + 7, + 13 + ], + 9, + 64, + 44 + ], + [ + [ + 7, + 13 + ], + 9, + 69, + 112 + ], + [ + [ + 7, + 13 + ], + 9, + 71, + 12 + ], + [ + [ + 7, + 14 + ], + 9, + 58, + 88 + ], + [ + [ + 7, + 14 + ], + 5, + 61, + 56 + ], + [ + [ + 7, + 14 + ], + 9, + 61, + 12 + ], + [ + [ + 7, + 14 + ], + 9, + 66, + 68 + ], + [ + [ + 7, + 14 + ], + 9, + 70, + 112 + ], + [ + [ + 7, + 14 + ], + 5, + 71, + 56 + ], + [ + [ + 7, + 14 + ], + 9, + 71, + 56 + ], + [ + [ + 7, + 15 + ], + 9, + 62, + 14 + ], + [ + [ + 7, + 15 + ], + 9, + 63, + 30 + ], + [ + [ + 7, + 15 + ], + 9, + 66, + 112 + ], + [ + [ + 7, + 15 + ], + 5, + 68, + 56 + ], + [ + [ + 7, + 15 + ], + 5, + 69, + 56 + ], + [ + [ + 7, + 15 + ], + 9, + 70, + 68 + ], + [ + [ + 7, + 15 + ], + 9, + 71, + 112 + ], + [ + [ + 7, + 16 + ], + 8, + 69, + 112 + ], + [ + [ + 7, + 16 + ], + 8, + 70, + 68 + ], + [ + [ + 7, + 16 + ], + 8, + 71, + 44 + ], + [ + [ + 7, + 17 + ], + 8, + 67, + 92 + ], + [ + [ + 7, + 17 + ], + 8, + 70, + 20 + ], + [ + [ + 7, + 17 + ], + 8, + 71, + 112 + ] + ], + "order": [ + [ + 0, + 0 + ], + [ + 0, + 1 + ], + [ + 1, + 0 + ], + [ + 0, + 2 + ], + [ + 1, + 1 + ], + [ + 2, + 0 + ], + [ + 0, + 3 + ], + [ + 1, + 2 + ], + [ + 2, + 1 + ], + [ + 3, + 0 + ], + [ + 0, + 4 + ], + [ + 1, + 3 + ], + [ + 2, + 2 + ], + [ + 3, + 1 + ], + [ + 4, + 0 + ], + [ + 0, + 5 + ], + [ + 1, + 4 + ], + [ + 2, + 3 + ], + [ + 3, + 2 + ], + [ + 4, + 1 + ], + [ + 5, + 0 + ], + [ + 0, + 6 + ], + [ + 1, + 5 + ], + [ + 2, + 4 + ], + [ + 3, + 3 + ], + [ + 4, + 2 + ], + [ + 5, + 1 + ], + [ + 0, + 7 + ], + [ + 6, + 0 + ], + [ + 1, + 6 + ], + [ + 2, + 5 + ], + [ + 3, + 4 + ], + [ + 4, + 3 + ], + [ + 5, + 2 + ], + [ + 6, + 1 + ], + [ + 1, + 7 + ], + [ + 7, + 0 + ], + [ + 2, + 6 + ], + [ + 3, + 5 + ], + [ + 4, + 4 + ], + [ + 5, + 3 + ], + [ + 6, + 2 + ], + [ + 7, + 1 + ], + [ + 2, + 7 + ], + [ + 8, + 0 + ], + [ + 3, + 6 + ], + [ + 4, + 5 + ], + [ + 5, + 4 + ], + [ + 6, + 3 + ], + [ + 7, + 2 + ], + [ + 8, + 1 + ], + [ + 3, + 7 + ], + [ + 4, + 6 + ], + [ + 5, + 5 + ], + [ + 6, + 4 + ], + [ + 7, + 3 + ], + [ + 8, + 2 + ], + [ + 4, + 7 + ], + [ + 5, + 6 + ], + [ + 6, + 5 + ], + [ + 7, + 4 + ], + [ + 8, + 3 + ], + [ + 5, + 7 + ], + [ + 6, + 6 + ], + [ + 7, + 5 + ], + [ + 8, + 4 + ], + [ + 6, + 7 + ], + [ + 7, + 6 + ], + [ + 8, + 5 + ], + [ + 7, + 7 + ], + [ + 8, + 6 + ], + [ + 8, + 7 + ] + ], + "windows": { + "0,0": [ + 16, + [ + 0, + 1, + 2 + ] + ], + "0,2": [ + 16, + [ + 0, + 1, + 2 + ] + ], + "0,1": [ + 8, + [ + 3, + 4, + 5 + ] + ], + "0,3": [ + 8, + [ + 3, + 4, + 5 + ] + ], + "0,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ] + ], + "0,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ] + ], + "0,5": [ + 8, + [ + 10, + 11, + 12, + 13, + 14 + ] + ], + "0,7": [ + 8, + [ + 10, + 11, + 12, + 13, + 14 + ] + ], + "0,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20 + ] + ], + "0,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20 + ] + ], + "0,9": [ + 8, + [ + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ] + ], + "0,11": [ + 8, + [ + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28 + ] + ], + "0,12": [ + 48, + [ + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "0,13": [ + 48, + [ + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "0,14": [ + 32, + [ + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "0,15": [ + 32, + [ + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "0,16": [ + 16, + [ + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "0,17": [ + 16, + [ + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 + ] + ], + "1,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4 + ] + ], + "1,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4 + ] + ], + "1,1": [ + 8, + [ + 5, + 6, + 7, + 8 + ] + ], + "1,3": [ + 8, + [ + 5, + 6, + 7, + 8 + ] + ], + "1,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13 + ] + ], + "1,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13 + ] + ], + "1,5": [ + 8, + [ + 14, + 15, + 16, + 17, + 18, + 19 + ] + ], + "1,7": [ + 8, + [ + 14, + 15, + 16, + 17, + 18, + 19 + ] + ], + "1,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26 + ] + ], + "1,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26 + ] + ], + "1,9": [ + 8, + [ + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34 + ] + ], + "1,11": [ + 8, + [ + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34 + ] + ], + "1,12": [ + 48, + [ + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "1,13": [ + 48, + [ + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "1,14": [ + 32, + [ + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "1,15": [ + 32, + [ + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "1,16": [ + 16, + [ + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "1,17": [ + 16, + [ + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50 + ] + ], + "2,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ] + ], + "2,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7 + ] + ], + "2,1": [ + 8, + [ + 8, + 9, + 10, + 11, + 12 + ] + ], + "2,3": [ + 8, + [ + 8, + 9, + 10, + 11, + 12 + ] + ], + "2,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18 + ] + ], + "2,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18 + ] + ], + "2,5": [ + 8, + [ + 19, + 20, + 21, + 22, + 23, + 24, + 25 + ] + ], + "2,7": [ + 8, + [ + 19, + 20, + 21, + 22, + 23, + 24, + 25 + ] + ], + "2,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33 + ] + ], + "2,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33 + ] + ], + "2,9": [ + 8, + [ + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41 + ] + ], + "2,11": [ + 8, + [ + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41 + ] + ], + "2,12": [ + 48, + [ + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "2,13": [ + 48, + [ + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "2,14": [ + 32, + [ + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "2,15": [ + 32, + [ + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "2,16": [ + 16, + [ + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "2,17": [ + 16, + [ + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56 + ] + ], + "3,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ] + ], + "3,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11 + ] + ], + "3,1": [ + 8, + [ + 12, + 13, + 14, + 15, + 16, + 17 + ] + ], + "3,3": [ + 8, + [ + 12, + 13, + 14, + 15, + 16, + 17 + ] + ], + "3,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24 + ] + ], + "3,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24 + ] + ], + "3,5": [ + 8, + [ + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32 + ] + ], + "3,7": [ + 8, + [ + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32 + ] + ], + "3,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40 + ] + ], + "3,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40 + ] + ], + "3,9": [ + 8, + [ + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48 + ] + ], + "3,11": [ + 8, + [ + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48 + ] + ], + "3,12": [ + 48, + [ + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "3,13": [ + 48, + [ + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "3,14": [ + 32, + [ + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "3,15": [ + 32, + [ + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "3,16": [ + 16, + [ + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "3,17": [ + 16, + [ + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61 + ] + ], + "4,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ] + ], + "4,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ] + ], + "4,1": [ + 8, + [ + 17, + 18, + 19, + 20, + 21, + 22, + 23 + ] + ], + "4,3": [ + 8, + [ + 17, + 18, + 19, + 20, + 21, + 22, + 23 + ] + ], + "4,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31 + ] + ], + "4,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31 + ] + ], + "4,5": [ + 8, + [ + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 + ] + ], + "4,7": [ + 8, + [ + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 + ] + ], + "4,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47 + ] + ], + "4,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47 + ] + ], + "4,9": [ + 8, + [ + 48, + 49, + 50, + 51, + 52, + 53, + 54 + ] + ], + "4,11": [ + 8, + [ + 48, + 49, + 50, + 51, + 52, + 53, + 54 + ] + ], + "4,12": [ + 48, + [ + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "4,13": [ + 48, + [ + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "4,14": [ + 32, + [ + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "4,15": [ + 32, + [ + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "4,16": [ + 16, + [ + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "4,17": [ + 16, + [ + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65 + ] + ], + "5,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22 + ] + ], + "5,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22 + ] + ], + "5,1": [ + 8, + [ + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30 + ] + ], + "5,3": [ + 8, + [ + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30 + ] + ], + "5,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38 + ] + ], + "5,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38 + ] + ], + "5,5": [ + 8, + [ + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46 + ] + ], + "5,7": [ + 8, + [ + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46 + ] + ], + "5,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53 + ] + ], + "5,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53 + ] + ], + "5,9": [ + 8, + [ + 54, + 55, + 56, + 57, + 58, + 59 + ] + ], + "5,11": [ + 8, + [ + 54, + 55, + 56, + 57, + 58, + 59 + ] + ], + "5,12": [ + 48, + [ + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "5,13": [ + 48, + [ + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "5,14": [ + 32, + [ + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "5,15": [ + 32, + [ + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "5,16": [ + 16, + [ + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "5,17": [ + 16, + [ + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68 + ] + ], + "6,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29 + ] + ], + "6,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29 + ] + ], + "6,1": [ + 8, + [ + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37 + ] + ], + "6,3": [ + 8, + [ + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37 + ] + ], + "6,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45 + ] + ], + "6,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45 + ] + ], + "6,5": [ + 8, + [ + 46, + 47, + 48, + 49, + 50, + 51, + 52 + ] + ], + "6,7": [ + 8, + [ + 46, + 47, + 48, + 49, + 50, + 51, + 52 + ] + ], + "6,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58 + ] + ], + "6,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58 + ] + ], + "6,9": [ + 8, + [ + 59, + 60, + 61, + 62, + 63 + ] + ], + "6,11": [ + 8, + [ + 59, + 60, + 61, + 62, + 63 + ] + ], + "6,12": [ + 48, + [ + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "6,13": [ + 48, + [ + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "6,14": [ + 32, + [ + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "6,15": [ + 32, + [ + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "6,16": [ + 16, + [ + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "6,17": [ + 16, + [ + 64, + 65, + 66, + 67, + 68, + 69, + 70 + ] + ], + "7,0": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ] + ], + "7,2": [ + 16, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35 + ] + ], + "7,1": [ + 8, + [ + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43 + ] + ], + "7,3": [ + 8, + [ + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43 + ] + ], + "7,4": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51 + ] + ], + "7,6": [ + 32, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51 + ] + ], + "7,5": [ + 8, + [ + 52, + 53, + 54, + 55, + 56, + 57 + ] + ], + "7,7": [ + 8, + [ + 52, + 53, + 54, + 55, + 56, + 57 + ] + ], + "7,8": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62 + ] + ], + "7,10": [ + 48, + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62 + ] + ], + "7,9": [ + 8, + [ + 63, + 64, + 65, + 66 + ] + ], + "7,11": [ + 8, + [ + 63, + 64, + 65, + 66 + ] + ], + "7,12": [ + 48, + [ + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71 + ] + ], + "7,13": [ + 48, + [ + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71 + ] + ], + "7,14": [ + 32, + [ + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71 + ] + ], + "7,15": [ + 32, + [ + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71 + ] + ], + "7,16": [ + 16, + [ + 67, + 68, + 69, + 70, + 71 + ] + ], + "7,17": [ + 16, + [ + 67, + 68, + 69, + 70, + 71 + ] + ] + }, + "sides": { + "0": 0, + "2": 1, + "1": 0, + "3": 1, + "4": 0, + "6": 1, + "5": 0, + "7": 1, + "8": 0, + "10": 1, + "9": 0, + "11": 1, + "12": 0, + "13": 1, + "14": 0, + "15": 1, + "16": 0, + "17": 1 + }, + "pairs": { + "0": 1, + "2": 1, + "1": 1, + "3": 1, + "4": 2, + "6": 2, + "5": 2, + "7": 2, + "8": 3, + "10": 3, + "9": 3, + "11": 3, + "12": 0, + "13": 0, + "14": 1, + "15": 1, + "16": 2, + "17": 2 + }, + "baseline_widths": [ + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 9, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 8, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 9, + 9, + 8, + 8, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 9, + 9, + 8, + 8, + 9, + 8, + 9, + 8, + 9, + 9, + 9, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 9, + 8, + 9, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5, + 8, + 8, + 8, + 5, + 8, + 5, + 5, + 5 + ], + "numeric_saving": 0.0015932455964101089, + "solver_status": 1, + "gap": 1.1667391998196086e-07, + "local_profile": { + "1": 2284, + "2": 456, + "3": 488, + "4": 168, + "5": 56, + "6": 56, + "8": 8 + } +} diff --git a/research/complex-trace-joint-retiming/PRICE.json b/research/complex-trace-joint-retiming/PRICE.json new file mode 100644 index 0000000000..a7075b41e1 --- /dev/null +++ b/research/complex-trace-joint-retiming/PRICE.json @@ -0,0 +1,107 @@ +{ + "status": "PASS_TWO_ENGINE_PROFILE_NOMINATION_NOT_PHYSICAL_ADMISSION", + "global_profile": { + "1": 163872, + "2": 37456, + "3": 31011, + "4": 14688, + "5": 4032, + "6": 4032, + "7": 208, + "8": 576, + "39": 1, + "48": 1660 + }, + "local_profile": { + "1": 2276, + "2": 514, + "3": 404, + "4": 204, + "5": 56, + "6": 56, + "8": 8 + }, + "complex_lower": "796872965733914365501/500000000000000000000000", + "b_decimal": "0.001593745931467828731002", + "kappa": "318241989417709/200000000000000000", + "kappa_decimal": "0.001591209947088545", + "moment": { + "lower": "0.001593745931467828731002", + "upper": "0.001593745931467828731003", + "lower_endpoint_residual_upper": "-8.093164535650779609354860123603844264380813227143902733198039069991066E-25", + "upper_endpoint_residual_lower": "2.269234444774089076999815886659159614240194861117140402237431116446269E-24", + "strict_rational_signs": true, + "moment_minus_one_at_current_k_required_rate": [ + "-0.002761544435533787239107999064661554701548522848250701194569804884486106", + "-0.002761544435533787239107999064661554701548522848250701194569804884411922" + ], + "nominal_k_ceiling_interval": [ + "0.001591209947088545223025788967648527025491524487542701757279276093574845", + "0.001591209947088545223026785787760581944114609323253310440459147706727796" + ] + }, + "independent_base_two": [ + { + "point": "796872965733914365501/500000000000000000000000", + "accept": true, + "lower_minus_one": "-8093169365177345178723/10000000000000000000000000000000000000000000000", + "upper_minus_one": "-8093159365177345178587/10000000000000000000000000000000000000000000000" + }, + { + "point": "1593745931467828731003/1000000000000000000000000", + "accept": false, + "lower_minus_one": "22692340635185220133883/10000000000000000000000000000000000000000000000", + "upper_minus_one": "22692350635185220134019/10000000000000000000000000000000000000000000000" + } + ], + "outer": { + "bit_positive": "12451140089592411749374194017693340263795769359168937957208647726849968988713574244859912968521370015247522507258402297178177104146228198004229689617420383680632547501494373545202418871092746038138486629632561361589357069445809535444579363973630991127190476773047582555678301309467420808501/7812500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_above_bit": "211578930982306659736204230640831062042791352273150031011286425755140087031478629984752477492741597702821822895853771801995770310382579616319367452498505626454797581128907253961861513370367438638410642930554190464555420636026369008872809523226952417444321698690532579191499/7812500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_below_one_over32": "14828127034266085634499/500000000000000000000000", + "beta_positive": "1/1000000000000000000", + "beta_below_one": "999999999999999999/1000000000000000000", + "leaf_saving_above_bit": "199127790892714247775251105640831062042791352273150031011286425755140087031478629984752477492741597702821822895853771801995770310382579616319367452498505626454797581128907253961861513370367438638410642930554190464555420636026369008872809523226952417444321698690532579191499/7812500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_positive": "6225570044796205862235956919254258382523690661891128714808554504256046537148139395579987495547110762763848285107831133341566044814711801823937740662481993836086584133326803091968661934051999473866824443723534642656191905090343406132932612541005960119015874412892800150648673881686127848572198690532579191499/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_internal": "12451140089592411749374194017693340263795769359168937957208647726849968988713574244859912968521370015247522507258402297178177104146228198004229689617420383680632547501494373545202418871092746038138486629632561361589357069445809535444579363973630991127190476773047582555678301309467420808501/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_leaf": "112015035535949535636999746838108871285191445495743953462851860604420012504452889237236151714892168866658433955185288198176062259337518006163913415866673196908031338065948000526133175556276465357343808094909656593867067387458994039880984125587107199849351326118313872151427801309467420808501/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_positive": "6225570044796206838798456919254258382523690661891128714808554504256046537148139395579987495547110762763848285107831133341566044814711801823937740662481993836086584133326803091968661934051999473866824443723534642656191905090343406132932612541005960119015874412892800150648673881686127848572198690532579191499/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_below_one": "3900024429955203793161201543080745741617476309338108871285191445495743953462851860604420012504452889237236151714892168866658433955185288198176062259337518006163913415866673196908031338065948000526133175556276465357343808094909656593867067387458994039880984125587107199849351326118313872151427801309467420808501/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_reservations": "1/4000000000000000000", + "lambda_above_tau": "12451140089592411749374194017693340263795769359168937957208647726849968988713574244859912968521370015247522507258402297178177104146228198004229689617420383680632547501494373545202418871092746038138486629632561361589357069445809535444579363973630991127190476773047582555678301309467420808501/7812500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_sigma": "224030071071899071485578424658524402306587121632318968968495073481990056020192204229612390461262967718069345403112174099173947414528807814323597142115926010135430128630401627507063932241460184676549129560186751826144777705472178544317388887200583408571512175463580161747177301309467420808501/7812500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_internal": "12451140089592411749374194017693340263795769359168937957208647726849968988713574244859912968521370015247522507258402297178177104146228198004229689617420383680632547501494373545202418871092746038138486629632561361589357069445809535444579363973630991127190476773047582555678301309467420808501/7812500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_prime_above_lambda": "12451140089592411749374194017693340263795769359168937957208647726849968988713574244859912968521370015247522507258402297178177104146228198004229689617420383680632547501494373545202418871092746038138486629632561361589357069445809535444579363973630991127190476773047582555678301309467420808501/7812500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_leaf": "112015035535949535636999746838108871285191445495743953462851860604420012504452889237236151714892168866658433955185288198176062259337518006163913415866673196908031338065948000526133175556276465357343808094909656593867067387458994039880984125587107199849351326118313872151427801309467420808501/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_reservations": "1/4000000000000000000", + "lambda_prime_below_one": "6225570044796205862235956919254258382523690661891128714808554504256046537148139395579987495547110762763848285107831133341566044814711801823937740662481993836086584133326803091968661934051999473866824443723534642656191905090343406132932612541005960119015874412892800150648673881686127848572198690532579191499/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "epsilon_positive": "3906249999999999996093750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000/3912475570044796205862235956919254258382523690661891128714808554504256046537148139395579987495547110762763848285107831133341566044814711801823937740662481993836086584133326803091968661934051999473866824443723534642656191905090343406132932612541005960119015874412892800150648673881686127848572198690532579191499", + "epsilon_below_one": "6225570044796209768485956919254258382523690661891128714808554504256046537148139395579987495547110762763848285107831133341566044814711801823937740662481993836086584133326803091968661934051999473866824443723534642656191905090343406132932612541005960119015874412892800150648673881686127848572198690532579191499/3912475570044796205862235956919254258382523690661891128714808554504256046537148139395579987495547110762763848285107831133341566044814711801823937740662481993836086584133326803091968661934051999473866824443723534642656191905090343406132932612541005960119015874412892800150648673881686127848572198690532579191499", + "guard_width": "6225570044796209768485956919254258382523690661891128714808554504256046537148139395579987495547110762763848285107831133341566044814711801823937740662481993836086584133326803091968661934051999473866824443723534642656191905090343406132932612541005960119015874412892800150648673881686127848572198690532579191499/3912475570044796205862235956919254258382523690661891128714808554504256046537148139395579987495547110762763848285107831133341566044814711801823937740662481993836086584133326803091968661934051999473866824443723534642656191905090343406132932612541005960119015874412892800150648673881686127848572198690532579191499", + "K_geometry": "2935913070044796206838798456919254258382523690661891128714808554504256046537148139395579987495547110762763848285107831133341566044814711801823937740662481993836086584133326803091968661934051999473866824443723534642656191905090343406132932612541005960119015874412892800150648673881686127848572198690532579191499/3912475570044796205862235956919254258382523690661891128714808554504256046537148139395579987495547110762763848285107831133341566044814711801823937740662481993836086584133326803091968661934051999473866824443723534642656191905090343406132932612541005960119015874412892800150648673881686127848572198690532579191499000000000000000000", + "K_dominates_log": "6225570044796206832572886874458051543725233742636870332284863842364917822339584891323940958398971367183860789560720370577717759706880668482371695847770192012148843470844809255882077800725196381898162509671535168789367461366808763476740707450662553986083261871886840031632799468793327697923524808846451342926801309467420808501/3912475570044796205862235956919254258382523690661891128714808554504256046537148139395579987495547110762763848285107831133341566044814711801823937740662481993836086584133326803091968661934051999473866824443723534642656191905090343406132932612541005960119015874412892800150648673881686127848572198690532579191499000000000000000000", + "record_suffix": "6225570044796209768485956919254258382523690661891128714808554504256046537148139395579987495547110762763848285107831133341566044814711801823937740662481993836086584133326803091968661934051999473866824443723534642656191905090343406132932612541005960119015874412892800150648673881686127848572198690532579191499/3912475570044796205862235956919254258382523690661891128714808554504256046537148139395579987495547110762763848285107831133341566044814711801823937740662481993836086584133326803091968661934051999473866824443723534642656191905090343406132932612541005960119015874412892800150648673881686127848572198690532579191499", + "phase_local": "49804560358369674235412085309237861197953568375874771335944745372157243582376560660383853427228746706530798785315538303968680073409863281249935880485144148864754932404132430899662711339089192698965933615736277667382710796999212606407268995237704274819194382762136441086173516640596222637928915642574505683419801309467420808501/31299804560358369646897887655354034067060189525295129029718468436034048372297185115164639899964376886102110786280862649066732528358517694414591501925299855950688692673066614424735749295472415995790934595549788277141249535240722747249063460900328047680952126995303142401205189391053489022788577589524260633531992000000000000000000", + "phase_boundary": "9960912071673931717101961026010607549801948139771547561169996544918545744628468528671933455727237824842169760625419050582657386595707749576734340245259388313800793950840891111063274961156396066218257175905655954383082604421014807156500274975266130057492786519622520122022003797805004407066844023165998857826201309467420808501/6259960912071673929379577531070806813412037905059025805943693687206809674459437023032927979992875377220422157256172529813346505671703538882918300385059971190137738534613322884947149859094483199158186919109957655428249907048144549449812692180065609536190425399060628480241037878210697804557715517904852126706398400000000000000000", + "gamma_sublinear": "1/2000000000000000000", + "cell_above_band": "7812499999999999988275024429955203794137764043080745741617476309338108871285191445495743953462851860604420012504452889237236151714892168866658433955185288198176062259337518006163913415866673196908031338065948000526133175556276465357343808094909656593867067387458994039880984125587107199849351326118313872151427801309467420808501/15649902280179184823448943827677017033530094762647564514859234218017024186148592557582319949982188443051055393140431324533366264179258847207295750962649927975344346336533307212367874647736207997895467297774894138570624767620361373624531730450164023840476063497651571200602594695526744511394288794762130316765996000000000000000000", + "prime_interval_packing": "6225570044796209768485956919254258382523690661891128714808554504256046537148139395579987495547110762763848285107831133341566044814711801823937740662481993836086584133326803091968661934051999473866824443723534642656191905090343406132932612541005960119015874412892800150648673881686127848572198690532579191499/3912475570044796205862235956919254258382523690661891128714808554504256046537148139395579987495547110762763848285107831133341566044814711801823937740662481993836086584133326803091968661934051999473866824443723534642656191905090343406132932612541005960119015874412892800150648673881686127848572198690532579191499", + "alpha_positive": "12451140089592415624496343793712310902811424404527999047093418346620964359487724286903928453946082129947709074668551503919283804521592470306309436510252185848235427604171612347850739734777195855764986953395069811445559366457152169609673319991668514105099136284779640182281473350479455546495723499379030534425801309467420808501/7824951140089592411724471913838508516765047381323782257429617109008512093074296278791159974991094221525527696570215662266683132089629423603647875481324963987672173168266653606183937323868103998947733648887447069285312383810180686812265865225082011920238031748825785600301297347763372255697144397381065158382998000000000000000000", + "alpha_below_one": "7812499999999999996099975570044796205862235956919254258382523690661891128714808554504256046537148139395579987495547110762763848285107831133341566044814711801823937740662481993836086584133326803091968661934051999473866824443723534642656191905090343406132932612541005960119015874412892800150648673881686127848572198690532579191499/7824951140089592411724471913838508516765047381323782257429617109008512093074296278791159974991094221525527696570215662266683132089629423603647875481324963987672173168266653606183937323868103998947733648887447069285312383810180686812265865225082011920238031748825785600301297347763372255697144397381065158382998000000000000000000", + "alpha_below_one_fourth": "1943786644932805687306621634665914818288450420926417565310310858905507058909086345410886065293827473251434215067885364062751499217885763430605659433820988811069807864462491789198133591232248803881168425268466697509882536586088019533456792986278834465954408800921666759893042863590363608377790375845887259061323698690532579191499/7824951140089592411724471913838508516765047381323782257429617109008512093074296278791159974991094221525527696570215662266683132089629423603647875481324963987672173168266653606183937323868103998947733648887447069285312383810180686812265865225082011920238031748825785600301297347763372255697144397381065158382998000000000000000000", + "delta_positive": "1/8000000000000000000", + "delta_below_one_eighth": "999999999999999999/8000000000000000000", + "short_record_fallback": "30468863343580264283420941457384279881105132859789609351427902946434875157307219848691338438459918075047768968083394692370976968908881490657971326817556523619330226081837883987421690664544286293974152680932205153460726723084827641367160057191777654849603330712157889063273042054386239267112964579739699559390266530185458345873827976063655145357848282428453872485629757290857915048232498651640992663811111291349526681441596148020459940847763823763824920903325128910228734523894949828489312124082711475563702670151676136656026418588446840525187010852387313278126991038969709640116915114967837728513867001/30566215390974970358298718413431673893613466333296024443084441832064500363571469839027968652308961802834092564727404930729230984725114935951749513598925640576844426438541615649156005171359781245889584565966590114395751499258518307860413536035476609063429811518850725001176942764700672873816970302269785774933585937500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "small_field_exposure": "1/1000000000000000000", + "artificial_boundary": "219148436482866957218170527952966661154068224073118795012895318560258060364521906584829887339326459507003626252733542524822151771723465048716756713536842983010981354606520361379394254116179308375603382750200462215551596755256952581920476262917895411666015813800048157089998562751666590582760566737839143451801652596071597737574497/31299804560358369646897887655354034067060189525295129029718468436034048372297185115164639899964376886102110786280862649066732528358517694414591501925299855950688692673066614424735749295472415995790934595549788277141249535240722747249063460900328047680952126995303142401205189391053489022788577589524260633531992000000000000000000", + "literal_scalar_guard": "1", + "row_product_gap": "23971789/25", + "balanced_prefix_above_kappa": "932156098174579041169591579093207659195355367331227225987720951003904113253921455790383646894716415947105638357733588691133499815906067729110107850200991276964418985124318095461823563630364393094928885756330977755851842360981350794794342153535387472816280877804062778118795756600007638310285773673226987144209/782495114008959241172447191383850851676504738132378225742961710900851209307429627879115997499109422152552769657021566226668313208962942360364787548132496398767217316826665360618393732386810399894773364888744706928531238381018068681226586522508201192023803174882578560030129734776337225569714439738106515838299800000000000000000", + "coordinate_movement_above_kappa": "19812377963153936874194017693340263795769359168937957208647726849968988713574244859912968521370015247522507258402297178177104146228198004229689617420383680632547501494373545202418871092746038138486629632561361589357069445809535444579363973630991127190476773047582555678301309467420808501/7812500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_phase_layer_above_kappa": "374152460414049499992860969273392018797126572997122500611898100257632259866229569778169123489017484486382171751780056161162966517357813421863300755171237195493004170744131837108574578108884983000388802168965677068301509949908205283919389077567965701981194257303710545221665054559176031851428334837801178264773/1956237785022398102931117978459627129191261845330945564357404277252128023268574069697789993747773555381381924142553915566670783022407355900911968870331240996918043292066663401545984330967025999736933412221861767321328095952545171703066466306270502980059507937206446400075324336940843063924286099345266289595749500000000000000000", + "bulk_exposure_above_kappa": "19812377963153936874194017693340263795769359168937957208647726849968988713574244859912968521370015247522507258402297178177104146228198004229689617420383680632547501494373545202418871092746038138486629632561361589357069445809535444579363973630991127190476773047582555678301309467420808501/7812500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "Gaussian_arithmetic_above_kappa": "3544773215351836123494496675826407015180319247987926679186959053526976859494223506927489187662184216814081258576760878395726432482433830031056925060945448221879265296861217960602619847108863145285564261606924287404158546982760462952221804615742093822411231148019609424799717378918374978633713990695283317962173/6259960912071673929379577531070806813412037905059025805943693687206809674459437023032927979992875377220422157256172529813346505671703538882918300385059971190137738534613322884947149859094483199158186919109957655428249907048144549449812692180065609536190425399060628480241037878210697804557715517904852126706398400000000000000000", + "scalar_work_above_kappa": "33373768356938365440921427206809052109431691002587197910794029485651908483619710092219765888293109527121461686024235716511998426591427997362580376267377169084740672820839397015380973883280523724323288605809515575591417502534163688385640753528874492952532219237749618324601181590118619404562858748238546906576861/31299804560358369646897887655354034067060189525295129029718468436034048372297185115164639899964376886102110786280862649066732528358517694414591501925299855950688692673066614424735749295472415995790934595549788277141249535240722747249063460900328047680952126995303142401205189391053489022788577589524260633531992000000000000000000", + "dimension_above_kappa": "780004885991040758197208906790728189493086840960829433452393656430376016680291323124788115754812033637830877237694849720437325148770646330768712267773571330342890533374325916346025252737507695567050198741619686166397647375312909074625255838473149602770538978652808912786151143027725552549081316861901122471985973673226987144209/782495114008959241172447191383850851676504738132378225742961710900851209307429627879115997499109422152552769657021566226668313208962942360364787548132496398767217316826665360618393732386810399894773364888744706928531238381018068681226586522508201192023803174882578560030129734776337225569714439738106515838299800000000000000000" + }, + "scope": "Candidate unchanged scalar instructions and entrances with changed monotone frames. Exact frozen-owner-profile price only; independent phase, owner and fresh invoice admission pending." +} diff --git a/research/complex-trace-joint-retiming/README.md b/research/complex-trace-joint-retiming/README.md new file mode 100644 index 0000000000..321f264035 --- /dev/null +++ b/research/complex-trace-joint-retiming/README.md @@ -0,0 +1,15 @@ +# Joint frame retiming of the rank-five trace word + +Draft candidate: conditional kappa **0.001591209947088545**, complex b **0.001593745931467828731002**. This is about0.01033% above PR550's0.001591045666134196, with the unchanged PR543 R420 bit supplier. + +This applies120 jointly chosen frame changes to PR550's exact scalar word, preserving all scalar instructions, entrances, ports, centers, cut and target levels. The local paid profile changes from `{1:2285,2:455,3:487,4:169,5:56,6:56,8:8}` to `{1:2276,2:514,3:404,4:204,5:56,6:56,8:8}`. Rank mass and helper widths remain fixed. The frozen literal owner plan changes only its paid profile. No extra bit-side gain is claimed. + +Two independent rational engines certify the candidate full-profile b and reject its next10^-24 tick. The numerical outer nomination passes47 strict constraints. **At draft publication full independent phases, owner replay and fresh invoice/assembly admission are pending.** The current artifact is a priced candidate, not an admitted new winner. Verification updates will retain this initial status. + +`CONSTRUCTION.json` lists all120 frame changes. `WORD.json.gz`, `PLAN.json` and `PRICE.json` are frozen inputs and exact pricing evidence. `upstream550/` is the complete83-file dependency-closed package from PR550 head c7337040822978f1611ce9d9d44e7bb96d887e23, acquired with exact Git blob binding. It retains its own manifests and sources. Its root verifier replays the unchanged upstream witness; it is not the verifier of this candidate. A candidate verifier and fresh receipts will accompany the admission update. + +The discovered schedule came from the credited PR534 frame-chain search, with seed55001,60seconds, temperature0.002 and exponent0.001593581126479114854212, using the causal minimum frames as lower bounds. Its floating objective only nominated this witness; exact engines and physical checkers decide admission. Seed55002 at temperature0.03 found no gain. All single-event changes were separately excluded at the baseline exponent, so this gain requires coordinated frame changes rather than one greedy edit. + +Conditional scope remains inherited: all-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape and analytic-transfer contracts. This is not an unconditional multiplication theorem, practical speedup or complete Lean proof. + +Prepared for Rohan Arun with OpenAI Codex assistance. Credits: eumemic/Codex PR550 trace expansion and admission, rohanarun/Claude PR534 frame-chain method, Dugongue PR548/PR541, icekylinx PR535/PR531, chafreaky PR544, eumemic/Claude PR543 bit supplier, DreamingOfClouds PR484 and the inherited gauge/kernel/phase/moment ancestry. Original notices and licenses remain in upstream550. diff --git a/research/complex-trace-joint-retiming/STATUS.json b/research/complex-trace-joint-retiming/STATUS.json new file mode 100644 index 0000000000..55752a6a88 --- /dev/null +++ b/research/complex-trace-joint-retiming/STATUS.json @@ -0,0 +1,7 @@ +{ + "status": "DRAFT_EXACT_PROFILE_NOMINATION_PHYSICAL_PENDING", + "kappa": "0.001591209947088545", + "complex_b": "0.001593745931467828731002", + "baseline_pr": 550, + "baseline_head": "c7337040822978f1611ce9d9d44e7bb96d887e23" +} diff --git a/research/complex-trace-joint-retiming/UPSTREAM-ACQUISITION.json b/research/complex-trace-joint-retiming/UPSTREAM-ACQUISITION.json new file mode 100644 index 0000000000..73571fdd62 --- /dev/null +++ b/research/complex-trace-joint-retiming/UPSTREAM-ACQUISITION.json @@ -0,0 +1,93 @@ +{ + "repo": "eumemic/integer-mult-bounds", + "head": "c7337040822978f1611ce9d9d44e7bb96d887e23", + "prefix": "research/complex-trace-rank5/", + "files": 83, + "reused": 46, + "status": "PASS_EXACT_GIT_BLOBS", + "blobs": { + "LICENSE": "261eeb9e9f8b2b4b0d119366dda99c6fd7d35c64", + "MANIFEST.json": "07087148be8853ed6d81eaeed69ea7ade04c9cf9", + "NOTICE.md": "b4a00aeeb324e99b073aed1909fc61c292ae17d1", + "PROOF.md": "2e8ae0250cda9501922ef337e196752affaaed6c", + "README.md": "63601cd7b27a750ce49a40af7dbffe9ba00f2cdd", + "SOURCES.json": "027913a94608679e618991b053faba133f3276ef", + "assemble.py": "6e1bd57bde0c3034ef27f27e7aecf369c5b3739b", + "assembly_controls.py": "027ed620679534781346e547818f950568750d08", + "engines/base_two_moment.py": "14a90fa0e788217856f070382c9e61bd7c603c61", + "engines/moment.py": "7d697cb45203fe72d97037403d6da41f71f3b7fd", + "engines/outer.py": "43007488ad2c43187c77cc6798beff8b1cd76ad2", + "evidence/EXPECTED-ASSEMBLY.json": "1d035d4183b311f07036de55e28ac0180cea9d85", + "evidence/FIRST-INVOICE.json": "c1d9c97e6a30928df05b60569ad40fe4a3a08f16", + "evidence/FIRST-OWNERS.json": "f5949d04983691dc2d5b7e78bc8e5632a2e8e1a4", + "evidence/FIRST-PHYSICAL-RECEIPT.json": "1322f4694987b3c90ebbdeae67bed96a6130e51b", + "evidence/FIRST-PHYSICAL-RESULT.json": "863d42b2e0d84e9c89435ccfe1a87c30b071af3b", + "evidence/INDEPENDENT-REVIEW.json": "fe8baf8846c781bc0dddcde9bebc6b8964c81df8", + "evidence/PR543-LOCAL-REPLAY.json": "9937764a51ffbfb0c1c4b81254d114bd71949fa8", + "evidence/REVIEW.txt": "d168d31c9aa2dfcadbac01c8ddf914ca36426502", + "evidence/STALE-PLAN-FAILURE.json": "7e200f0f7f41213e3f80584a2f70d072ed7fab2a", + "inputs/PR543-ACQUISITION.json": "ba868242709bea731bcb8665e9112dd1328d01d3", + "inputs/PR543-EXPECTED.json": "b61d859826246e0c3dabbe096e57ad7015eadfd5", + "inputs/PR543-NOTICE.md": "cb68783d7d76c3fc13faa571429e9b067a0db3f7", + "inputs/PR543-README.md": "6751eba6f617292fc919e58d5a9f9f06ab037391", + "inputs/PR547-README.md": "db9d990771bf4f5b1f0f42eac9fe2ef2903c72f7", + "local/LICENSE": "261eeb9e9f8b2b4b0d119366dda99c6fd7d35c64", + "local/MANIFEST.json": "a4763d45f1cc059ef7644401d60df32c9bf1c64f", + "local/NOTICE-upstream.md": "f42e0eed8584ad7d472c458aa875c29d1cd5ed86", + "local/NOTICE.md": "1adbe6267cbd276fc0ee0e056cf48c29b0a143d4", + "local/PROOF.md": "b58a9a095d5114581a1289a1a178f64050e492a5", + "local/audit_scalar.py": "834e8b510388e6b79cbbede33abcd38ac5203e59", + "local/construct.py": "9c3ff2d8daa50388f8c43d74feeb610c71ff5854", + "local/evidence/CONSTRUCTION.json": "02c787abd716df2a4783aac3c2a176a1cc07014d", + "local/evidence/INDEPENDENT-LOCAL-REPLAY.json": "1b21ebf8124e701f73772209d7fa5a0289f2dae5", + "local/evidence/PRICE.json": "aa6c7909362187d2744f5604521d29d47d7463a1", + "local/evidence/SCALAR-AUDIT.json": "9d8e4be23a0861f108d8f5754052df6a207bcebd", + "local/evidence/SEARCH.json": "ed3e364b4125b0de7e810ee525539da5eeb5dbd8", + "local/inputs/PR548-EXPECTED.json": "8bbdb3bcd4588f42b30e2ab8a2c9af04ed2b7b71", + "local/inputs/PR548-FULL-WORD.json.gz": "964344b62a4d7985ba7dcd40f5f008e925b40187", + "local/inputs/STATIC44-SELECTION.json": "81d7db9a45a3c014e369bf8198785ad3f42fdc57", + "local/price.py": "35ed41f7f4ffcab0fd0e09435ff8e45a1f980095", + "local/vendor/base_two_moment.py": "14a90fa0e788217856f070382c9e61bd7c603c61", + "local/vendor/gk/gk_common.py": "0e5fde920d29106232776eb56347297c0d40fa72", + "local/vendor/gk/gk_word.py": "15782ba625e438a3c707718fa51796ec1937018f", + "local/vendor/moment.py": "7d697cb45203fe72d97037403d6da41f71f3b7fd", + "local/verify.py": "ae5d7a2ec4610d1e0039f8c5b2b67e727ab5d5a5", + "omit_control.py": "cfccaaef19cff0808f03f8eced01c82865261e10", + "physical/MANIFEST.json": "636be03a68c4c0b3ee079caa09c686f22b5ced2c", + "physical/README.md": "3eb43198735eaaeaa9425d1767af224e7e5b789b", + "physical/UPSTREAM-SOURCES.json": "09d46e6cd0fdf128b8ed5f8ed2955b157405bf89", + "physical/code/phases_full.py": "d68f097d5dfe79de2667727914330943ef66d219", + "physical/code/run_portable.py": "2fed13f432df4d76ce72185dd79fac63d96aee96", + "physical/data/RETAINED-INVOICE.json": "a16bf40bccc81278a443e0d5f09b44495035de81", + "physical/data/ROUTING-CANONICAL-WORD.json.gz": "cbb49a627768c42e1ff752f43ccfcc56ffe2cb0b", + "physical/data/SAT-OWNERS.json.gz": "243bc54840492c8fe613f00dc5fcda4577d4b09c", + "physical/data/SAT534-PLAN.json": "8979f0db1830a03016f0e189d4f62fa13355a4f2", + "physical/data/controller-input/split-centres/CANONICAL-WORD.json.gz": "3b0a475178f4e4ad107e3595992c872e47e83c63", + "physical/data/controller-input/split-centres/GLOBAL-TEMPLATE.json.gz": "3e28a9b59f8fde608e59ebd5fbdbc22ca54558d4", + "physical/data/controller-input/work/complex-nine-native/DATA-PHASES.json": "d9a4f84211182ca200c081ea061d724c8a2cfb70", + "physical/data/controller-input/work/pr361/code/engines/base_two_moment.py": "14a90fa0e788217856f070382c9e61bd7c603c61", + "physical/data/controller-input/work/pr361/code/engines/moment.py": "7d697cb45203fe72d97037403d6da41f71f3b7fd", + "physical/data/controller-input/work/pr361/code/engines/outer.py": "43007488ad2c43187c77cc6798beff8b1cd76ad2", + "physical/replay.py": "32ee43a33a1121693abcf22590418cb12d2a3042", + "physical/upstream/complex-global/README.md": "e6ef3b658b65f648f2933a93e7dedbae163b0380", + "physical/upstream/complex-global/TWO-RESOURCE-TECHNIQUES.md": "6c9da1f090a6cba210c5bbcd4d6240822cc9d88e", + "physical/upstream/complex-global/vendor531/LICENSE": "261eeb9e9f8b2b4b0d119366dda99c6fd7d35c64", + "physical/upstream/complex-global/vendor531/NOTICE.md": "f3833c1cb2139473c7a0831dee35803fdcc3c14b", + "physical/upstream/complex-global/vendor531/SOURCES.json": "6991a2a9c6ccb91d8fe65e58fa54cc00a581c68c", + "physical/upstream/complex-global/vendor535/LICENSE": "261eeb9e9f8b2b4b0d119366dda99c6fd7d35c64", + "physical/upstream/complex-global/vendor535/NOTICE.md": "f42e0eed8584ad7d472c458aa875c29d1cd5ed86", + "physical/upstream/complex-local/README.md": "370a6a6d11384ebc43387e2abcbb760438ba1a07", + "physical/upstream/complex-local/SOURCE-MANIFEST.json": "0f3ff6125bfca37da9107cee39cca1d851649df4", + "physical/upstream/pr544-NOTICE.md": "621b305f2e5559ea1a9fdafee116a376d436bb21", + "physical/vendor/pr531/code/adapters_local.py": "787416e4dd84db0981d3cb94f4e424c652e0085a", + "physical/vendor/pr531/code/audit_and_transport.py": "95ae517f2ea66b4a35ed16b6ab861271554d64d0", + "physical/vendor/pr531/code/audit_local.py": "a09611844a49e1d7f73ddc1c0a2df3b0cec640ec", + "physical/vendor/pr531/code/audit_supplier_hosted.py": "62b721b6e6d467b76722f0e95158986a420aaeda", + "physical/vendor/pr531/code/emit_local.py": "a54170b0023d467be3da1db9d8623ac4665f0afe", + "physical/vendor/pr531/code/emit_supplier_hosted.py": "41c46015c7e19ab77f96580dbb98e12ca07aa2fd", + "physical/vendor/pr531/code/invoice_final.py": "abefcee47ba03edcf170abc92f00fa8b988d6c4a", + "physical/vendor/pr531/code/prepare_supplier_base.py": "650fc9fd77fd61930ab3a352cd8d0fb5b7f0f03b", + "physical/vendor/pr531/vendor/clifford/clifford_exact.py": "166841a037f069249f6f7f6dedb89248812f59e2", + "verify.py": "305519e5ebbfa59048f221f6384527a16b24f86a" + } +} diff --git a/research/complex-trace-joint-retiming/WORD.json.gz b/research/complex-trace-joint-retiming/WORD.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..5b5f1362e88abcb3ca8b2635729b12e185993477 GIT binary patch literal 36410 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 + for z,accept in [(lower,True),(lower+Q(1,10**24),False)]: + l,u=M.moment(h,m,W,z,True);ll,uu=B.moment(m,W,list(h.items()),z) + fl,fu=B.moment(m,W,[(1,32*m*m*sum(h.values()))],z);ll+=fl/10**16;uu+=fu/10**16 + assert (u<1 and uu<1)if accept else(l>1 and ll>1) + moments.append(dict(side=side,endpoint=str(z),accept=accept,mercator=[str(l-1),str(u-1)],base_two=[str(ll-1),str(uu-1)])) + assert bit['bit']['two_level_coefficient_bits']0 + ceil=lambda x:-(-x.numerator//x.denominator);cut=max(ceil(36/gap**2),ceil(2*(4+512)/gap));assert cut*gap**2>=36 and cut*gap>=2*(4+512) + cuts.append(dict(exponent=str(a),gap=str(gap),cutoff_log2=str(cut)));chain.append(a) + q=chain[-1]*(1-2*eta);margin=(1-eta)*q/(1+q);ticks=margin*10**18;k=Q((ticks.numerator-1)//ticks.denominator,10**18) + bridge={'semantic':{'C0':{'base':2,'exponent':210000},'strict_literal_gap':1},'rows':{'degree_gap':Q(10**6)-Q(51*20161,25)}} + outer=A.assembly(chain[-1],b,bridge,k,eta=eta,beta=beta);assert len(outer['strict_constraints'])==47 and all(v>0 for v in outer['strict_constraints'].values()) + controls=[] + for name,kk,ee,bb in [('next_grid',k+Q(1,10**18),eta,beta),('zero_eta',k,Q(0),beta),('zero_beta',k,eta,Q(0)),('unit_beta',k,eta,Q(1))]: + try:A.assembly(chain[-1],b,bridge,kk,eta=ee,beta=bb) + except AssertionError:controls.append(name) + else:raise AssertionError(name) + input_hashes={'owner_audit':owner_sha,'fresh_invoice':invoice_sha,'inputs/PR543-EXPECTED.json':sha(bit_path)} + input_hashes.update({'engines/'+name+'.py':sha(P/'engines'/(name+'.py'))for name in ('moment','base_two_moment','outer')}) + return dict(status='PASS_FRESH_TRACE_EXPANSION_EXACT_ASSEMBLY',kappa=str(k),kappa_decimal=dec(k),complex_lower=str(b),complex_decimal=dec(b),bit_lower=str(c),bit_decimal=dec(c),binding='complex',gain_over_pinned547_percent=dec(100*(k/Q('0.001590984155135328')-1)),complex_profile=H,template_sha256=owner['template_sha256'],input_sha256=input_hashes,bit_supplier=dict(pr=543,repository='eumemic/integer-mult-bounds',commit='2065fe4f72a914d907f1046603f5a36f17018535',path='research/e8-bit-r420/EXPECTED.json',git_blob_sha1='b61d859826246e0c3dabbe096e57ad7015eadfd5',replay_scope='Cited unchanged supplier; this assembly reprices its full profile and does not rebuild its bit circuit.'),moments=moments,bootstrap=cuts,outer={n:str(v)for n,v in outer['strict_constraints'].items()},controls=controls,scope='Conditional finite complex witness composed with cited unchanged PR543 bit supplier. All-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape and analytic transfer remain assumptions. No unconditional theorem or full Lean certification.') +if __name__=='__main__': + ap=argparse.ArgumentParser();ap.add_argument('--owner',type=Path,required=True);ap.add_argument('--invoice',type=Path,required=True);ap.add_argument('--out',type=Path,required=True);a=ap.parse_args();assert not a.out.exists() + r=assemble(read(a.owner),read(a.invoice),sha(a.owner),sha(a.invoice));a.out.write_text(json.dumps(r,indent=2)+'\n');print(r['status'],r['kappa_decimal']) diff --git a/research/complex-trace-joint-retiming/upstream550/assembly_controls.py b/research/complex-trace-joint-retiming/upstream550/assembly_controls.py new file mode 100644 index 0000000000..027ed62067 --- /dev/null +++ b/research/complex-trace-joint-retiming/upstream550/assembly_controls.py @@ -0,0 +1,103 @@ +"""Admission-gate negative controls for the exact two-supplier assembly. + +Prepared with OpenAI Codex assistance; Apache-2.0. These use the fresh owner +and invoice receipts, never repeat the physical replay or change its artifacts. +""" +import argparse +import copy +import hashlib +import json +from pathlib import Path + +from assemble import assemble + +assert __debug__, 'Assertions required' +P = Path(__file__).resolve().parent +sha = lambda p: hashlib.sha256(p.read_bytes()).hexdigest() +digest = lambda x: hashlib.sha256(json.dumps(x, sort_keys=True, separators=(',', ':')).encode()).hexdigest() + + +def verify(owner_path, invoice_path): + owner = json.loads(owner_path.read_text()) + invoice = json.loads(invoice_path.read_text()) + baseline = assemble(owner, invoice, sha(owner_path), sha(invoice_path)) + + def empty_maps(o, i): + i['strict_checks'] = {} + i['local'] = {} + + def missing_backward(o, i): + del i['local']['backward'] + + def failed_status_zero_sweeps(o, i): + i['status'] = 'FAIL' + i['complete_invocation_sweeps'] = i['bridge_sweeps'] = 0 + + def understated_stock(o, i): + # Keep the two receipts mutually consistent, but remove a required role. + o['physical'] -= 1 + i['physical'] -= 1 + i['physical_stock_identity']['coefficient_work'] -= 1 + + def changed_profile(o, i): + # Keep the rank mass and deficit unchanged; pricing must bind the word. + o['paid_profile']['1'] += 2 + o['paid_profile']['2'] -= 1 + + controls = [ + ('empty_certification_maps', empty_maps), + ('missing_backward_orientation', missing_backward), + ('failed_status_zero_sweeps', failed_status_zero_sweeps), + ('nonboolean_precision_check', lambda o, i: i['strict_checks'].__setitem__('precision', 'true')), + ('wrong_owner_role_count', lambda o, i: o.__setitem__('actual_helper_owner_charts', 36287)), + ('understated_physical_stock', understated_stock), + ('changed_profile_same_rank_mass', changed_profile), + ('insufficient_finite_C0', lambda o, i: i['finite'].__setitem__('required_C0_bits', 210001)), + ('unpaid_scalar_primitive', lambda o, i: i['local']['forward'].__setitem__('real_component_primitives', 168228)), + ('wrong_local_artifact_binding', lambda o, i: i.__setitem__('local_programs_sha256', '0' * 64)), + ('false_dirty_restoration', lambda o, i: i['local']['backward'].__setitem__('all_dirty_helper_columns_restored', False)), + ('missing_finite_check', lambda o, i: i['strict_checks'].pop('halving')), + ] + rejected = [] + for name, mutate in controls: + o, i = copy.deepcopy(owner), copy.deepcopy(invoice) + mutate(o, i) + # Rebind each mutated owner to its mutated invoice so tests of roles and + # profiles cannot pass merely by tripping an unrelated stale-file hash. + oh = digest(o) + i['owner_audit_sha256'] = oh + try: + assemble(o, i, oh, digest(i)) + except (AssertionError, KeyError): + rejected.append(name) + else: + raise AssertionError('Invalid admission receipt accepted: ' + name) + try: + assemble(owner, invoice, '0' * 64, sha(invoice_path)) + except AssertionError: + rejected.append('wrong_owner_receipt_hash') + else: + raise AssertionError('Wrong owner digest accepted') + assert len(rejected) == 13 + assert baseline['controls'] == ['next_grid', 'zero_eta', 'zero_beta', 'unit_beta'] + return dict( + status='PASS_EXACT_ASSEMBLY_ADMISSION_NEGATIVE_CONTROLS', + valid_receipt_kappa=baseline['kappa'], + input_sha256=baseline['input_sha256'], + assembler_sha256=sha(P / 'assemble.py'), + rejected_controls=rejected, + exact_outer_controls=baseline['controls'], + scope='Mutation controls for receipt completeness, both orientations, literal work/stock, profile and hash binding. Does not replace the fresh physical replay.', + ) + + +if __name__ == '__main__': + ap = argparse.ArgumentParser(description=__doc__) + ap.add_argument('--owner', type=Path, required=True) + ap.add_argument('--invoice', type=Path, required=True) + ap.add_argument('--out', type=Path, required=True) + a = ap.parse_args() + assert not a.out.exists() + result = verify(a.owner, a.invoice) + a.out.write_text(json.dumps(result, indent=2) + '\n') + print(result['status'], len(result['rejected_controls'])) diff --git a/research/complex-trace-joint-retiming/upstream550/engines/base_two_moment.py b/research/complex-trace-joint-retiming/upstream550/engines/base_two_moment.py new file mode 100644 index 0000000000..14a90fa0e7 --- /dev/null +++ b/research/complex-trace-joint-retiming/upstream550/engines/base_two_moment.py @@ -0,0 +1,63 @@ +#!/usr/bin/env python3 +"""Maintainer arithmetic cross-check of the pinned PR39 certificate. + +Uses no producer/checker imports. Counts are inputs, not proved by this script. +80-term rational logarithms and 12-term exponentials independently enclose +the two moments. The accompanying written review addresses their realization. +""" +import argparse +from fractions import Fraction as Q +from hashlib import sha256 +import json +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[1] +GRID = 10**30 + + +def require(condition, message): + if not condition: + raise ValueError(message) + + +def log_unit(x): + require(1 <= x <= 2, "logarithm range") + z = (x-1)/(x+1) + lo = 2*sum((z**(2*j+1)/(2*j+1) for j in range(80)), Q(0)) + return lo, lo+2*z**161/(161*(1-z*z)) + + +def log_bounds(x): + k = 0 + while x > 2: + x /= 2 + k += 1 + lo, hi = log_unit(x) + l2, u2 = log_unit(Q(2)) + lo, hi = lo+k*l2, hi+k*u2 + # Outward rational rounding keeps later certificates compact. + return Q((lo*GRID).__floor__(), GRID), Q((hi*GRID).__ceil__(), GRID) + + +def exp_bounds(x): + require(0 <= x < 1, "exponential range") + term = total = Q(1) + for j in range(1, 13): + term *= x/j + total += term + tail = term*x/13/(1-x/14) + return total, total+tail + + +def moment(m, W, entries, saving): + lo = hi = Q(0) + for t, count in entries: + t, count = int(t), int(count) + require(0 < t < m and count > 0, "improper child") + l, u = log_bounds(Q(m, t)) + lower = exp_bounds(saving*l)[0] + upper = exp_bounds(saving*u)[1] + lo += Q(t*count, m*W)*lower + hi += Q(t*count, m*W)*upper + return Q((lo*GRID).__floor__(), GRID), Q((hi*GRID).__ceil__(), GRID) + diff --git a/research/complex-trace-joint-retiming/upstream550/engines/moment.py b/research/complex-trace-joint-retiming/upstream550/engines/moment.py new file mode 100644 index 0000000000..7d697cb452 --- /dev/null +++ b/research/complex-trace-joint-retiming/upstream550/engines/moment.py @@ -0,0 +1,113 @@ +"""Independent prospective ordinary five-stage cost, never supplier admission. + +Consumes a raw one-invocation ledger made from the actual source/internal/target +paths. No packed profile is used as an input. Missing physical/finite/compiler +obligations must remain explicit in the accompanying report. +""" +from collections import Counter +from decimal import Decimal, localcontext, ROUND_FLOOR +from fractions import Fraction as F +from functools import lru_cache +from math import factorial +import hashlib, json, sys +from pathlib import Path + +DYAD = 1 << 224 + +def floor(x): return F(x.numerator*DYAD//x.denominator, DYAD) +def ceil(x): return -floor(-x) + +@lru_cache(None) +def logarithm(x): + """Mercator bounds after binary reduction; ln(2) via two Mercator sums. + + For 1 <= y < 2, log(y) is an alternating series in z=y-1. + We instead reduce to 1 <= y < 3/2, and bound log(3/2) and + log(2) by the same alternating series at z=1/2 and z=1/3, + using log(2)=log(3/2)+log(4/3). All sums are exact rationals. + """ + assert x >= 1 + k = 0 + while x >= 2: x /= 2; k += 1 + j = int(x >= F(3, 2)) + if j: x /= F(3, 2) + def mercator(y): + z=y-1 + assert 0 <= z <= F(1,2) + # An even partial sum is below log; the next term bounds its tail. + t=z; s=F(0) + for n in range(1, 225): + s += (t if n & 1 else -t)/n + t *= z + return s, s+t/225 + a,b=mercator(x); c,d=mercator(F(3,2)); e,f=mercator(F(4,3)) + return floor(a+(k+j)*c+k*e), ceil(b+(k+j)*d+k*f) + +def exponential(l,u): + assert 0 <= l <= u < F(1,10) + def poly(x): + s=t=F(1) + for j in range(1,25): t=t*x/j; s+=t + return s,t + lo,_=poly(l);hi,last=poly(u) + return floor(lo),ceil(hi+last*u/25/(1-u/26)) + +def moment(H,m,W,a,bad=False): + lo=hi=F(0) + for r,n in H.items(): + assert 0 < r < m and n > 0 + l,u=logarithm(F(m,r)); e,f=exponential(a*l,a*u) + p=F(r*n,m*W);lo+=p*e;hi+=p*f + if bad: + # Existing envelope shape, only conditionally portable to the new cover. + l,u=logarithm(F(m));e,f=exponential(a*l,a*u) + p=F(32*m*sum(H.values()),10**16*W) + lo+=p*e;hi+=p*f + return floor(lo),ceil(hi) + +def decimal(x): + with localcontext() as c: + c.prec=70 + return str(Decimal(x.numerator)/Decimal(x.denominator)) + +def certify(H,m,W,bad=False): + with localcontext() as c: + c.prec=70 + terms=[(Decimal(r*n)/Decimal(m*W),(Decimal(m)/Decimal(r)).ln()) for r,n in H.items()] + fallback=Decimal(32*m*sum(H.values()))/Decimal(10**16*W) if bad else Decimal(0) + lm=Decimal(m).ln();lo=Decimal(0);hi=Decimal('.003') + for _ in range(210): + a=(lo+hi)/2 + if sum(p*(a*l).exp() for p,l in terms)+fallback*(a*lm).exp()<1:lo=a + else:hi=a + q=int(((lo+hi)/2*10**24).to_integral_value(rounding=ROUND_FLOOR)) + lo=F(q,10**24);hi=lo+F(1,10**24) + lv=moment(H,m,W,lo,bad);hv=moment(H,m,W,hi,bad) + assert lv[1]<10 for v in slacks.values()),{k:str(v) for k,v in slacks.items() if v<=0} + assert min(margins.values())==minimum + assert margins['balanced_prefix']-minimum==eta and 1-eps-r==eta/2 + assert 1-eps*(1+c)==eta-eps*eta/4 + return dict(parameters=dict(a_bit=a,a_complex=b,tau=tau,sigma=sigma, + eta=eta,beta=beta,q=q,c=c,epsilon=eps,lambda_=lam, + lambda_prime=lp,alpha_squared_power=r,delta=delta, + C0=bridge['semantic']['C0'],C1=1,kappa=kappa), + strict_constraints=slacks,margins=margins,minimum_margin=minimum, + absorption_gap=minimum-kappa, + recurrence=dict(internal=internal,leaf=leaf,reservations=1-c)) diff --git a/research/complex-trace-joint-retiming/upstream550/evidence/EXPECTED-ASSEMBLY.json b/research/complex-trace-joint-retiming/upstream550/evidence/EXPECTED-ASSEMBLY.json new file mode 100644 index 0000000000..1d035d4183 --- /dev/null +++ b/research/complex-trace-joint-retiming/upstream550/evidence/EXPECTED-ASSEMBLY.json @@ -0,0 +1,182 @@ +{ + "status": "PASS_FRESH_TRACE_EXPANSION_EXACT_ASSEMBLY", + "kappa": "397761416533549/250000000000000000", + "kappa_decimal": "0.001591045666134196", + "complex_lower": "398395281619778713553/250000000000000000000000", + "complex_decimal": "0.001593581126479114854212", + "bit_lower": "413456747036699736067/250000000000000000000000", + "bit_decimal": "0.001653826988146798944268", + "binding": "complex", + "gain_over_pinned547_percent": "0.003866223222239942260003659869157040547161650404264213539003933392531917", + "complex_profile": { + "1": 164520, + "2": 33208, + "3": 36987, + "4": 12168, + "5": 4032, + "6": 4032, + "7": 208, + "8": 576, + "39": 1, + "48": 1660 + }, + "template_sha256": "8deedfe6bb7b414e6ad8c8404adcc2d6229cc6a462a51c6c87be7bfb8db09bf4", + "input_sha256": { + "owner_audit": "54eaba9c05be4978b51cfdb2ed0c1b350cfcded79c48bdf60203937ab1e11eaa", + "fresh_invoice": "eb17b8b08a24c68355d5aa591ecd54c4c2c08ac713c00b8c656b9de756a2a256", + "inputs/PR543-EXPECTED.json": "06eccee9f6b77e140833df83407e7996dc948c17d49b0779ab171fbe463fd28d", + "engines/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "engines/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "engines/outer.py": "c1ebb52163a7219504c728a5c2b098bf1e50bf20148a2879c5a74c3cadc7c03c" + }, + "bit_supplier": { + "pr": 543, + "repository": "eumemic/integer-mult-bounds", + "commit": "2065fe4f72a914d907f1046603f5a36f17018535", + "path": "research/e8-bit-r420/EXPECTED.json", + "git_blob_sha1": "b61d859826246e0c3dabbe096e57ad7015eadfd5", + "replay_scope": "Cited unchanged supplier; this assembly reprices its full profile and does not rebuild its bit circuit." + }, + "moments": [ + { + "side": "bit", + "endpoint": "413456747036699736067/250000000000000000000000", + "accept": true, + "mercator": [ + "-6043813583626134311169770662156174867615397/13479973333575319897333507543509815336818572211270286240551805124608", + "-12087627167252268622339541324312349735230793/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two": [ + "-1120888283015460284783/2500000000000000000000000000000000000000000000", + "-4483543132061841139029/10000000000000000000000000000000000000000000000" + ] + }, + { + "side": "bit", + "endpoint": "1653826988146798944269/1000000000000000000000000", + "accept": false, + "mercator": [ + "70925594433828721229860776023154018035852861/26959946667150639794667015087019630673637144422540572481103610249216", + "70925594433828721229860776023154018035852863/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two": [ + "13153878434097279887307/5000000000000000000000000000000000000000000000", + "6576941717048639943679/2500000000000000000000000000000000000000000000" + ] + }, + { + "side": "complex", + "endpoint": "398395281619778713553/250000000000000000000000", + "accept": true, + "mercator": [ + "-3710057729046286957631244498306944380896583/1684996666696914987166688442938726917102321526408785780068975640576", + "-29680461832370295661049955986455555047172663/13479973333575319897333507543509815336818572211270286240551805124608" + ], + "base_two": [ + "-11009100119476623769011/5000000000000000000000000000000000000000000000", + "-11009095119476623768943/5000000000000000000000000000000000000000000000" + ] + }, + { + "side": "complex", + "endpoint": "1593581126479114854213/1000000000000000000000000", + "accept": false, + "mercator": [ + "23645162418524187715171452649485376112760251/26959946667150639794667015087019630673637144422540572481103610249216", + "23645162418524187715171452649485376112760253/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two": [ + "4385234880704557395867/5000000000000000000000000000000000000000000000", + "877047976140911479187/1000000000000000000000000000000000000000000000" + ] + } + ], + "bootstrap": [ + { + "exponent": "99443932165200667629867170144728883324971020264386110571539183959440588374116191/62500000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "154888239744010658721509450326438286778979735613889428460816040559411625883809/62500000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "5861727797157" + }, + { + "exponent": "24899643394492277165218810261799476651698781940513721153244440608386223220824917177688806156776610053743112188258671563377/15625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "61706743892406928359636964353751238718059486278846755559391613776779175082822311193843223389946256887811741328436623/15625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "2308220490326008706" + }, + { + "exponent": "6224926250725366782181774161925216522342756619001303063072265448679133068134626494365657482382410087158931161225606589059834561964271405077905833313316459631651519/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "24583675610855018312765741078391618380998696936927734551320866931865373505634342517617589912841068838774393410940165438035728594922094166686683540368348481/3906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "908926858484573978436180" + }, + { + "exponent": "1556231568817466577890962248167065128474353054834093644338314632250348956164740047127939740555096986452624692607144998985336129712855361204093400356205182626296308696339712843480631733786682726313381662993/976562500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "9794020368235870505674271709240695165906355661685367749651043835259952872060259444903013547375307392855001014663870287144638795906599643794817373703691303660287156519368266213317273686618337007/976562500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "357915562025858795939548254026" + }, + { + "exponent": "389057892206811247673296736489740029565168173544662291254610192552892375060708385226232021584374503004838199444007248136491683743211005836031354290242485225012198128952701287850405319025084879586886884765555451097124799015102162744548098672355871/244140625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "3901891502793178444820480730263955337708745389807447107624939291614773767978415625496995161800555992751863508316256788994163968645709757514774987801871047298712149594680974915120413113115234444548902875200984897837255451901327644129/244140625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "140939337796519199490023505757623894" + }, + { + "exponent": "97264473051703785836704718311936306635008788512407768075195828965600108175018916974133825982342952235128949881057446591407036756108879487431660486386540442907488337824864496462735092095677410158287619105443520581382283155182580624309176885551366473216847772114245722176720420027813180337/61035156250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "gap": "1554495164105109905876465820862592231924804171034399891824981083025866174017657047764871050118942553408592963243891120512568339513613459557092511662175135503537264907904322589841712380894556479418617716844817419375690823114448633526783152227885754277823279579972186819663/61035156250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "cutoff_log2": "55498835608288561471811244909996427424157" + } + ], + "outer": { + "bit_positive": "97264473051703785836704718311936306635008788512407768075195828965600108175018916974133825982342952235128949881057446591407036756108879487431660486386540442907488337824864496462735092095677410158287619105443520581382283155182580624309176885551366473216847772114245722176720420027813180337/61035156250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_above_bit": "1651820672313063693364991211487592231924804171034399891824981083025866174017657047764871050118942553408592963243891120512568339513613459557092511662175135503537264907904322589841712380894556479418617716844817419375690823114448633526783152227885754277823279579972186819663/61035156250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "complex_below_one_over32": "7414104718380221286447/250000000000000000000000", + "beta_positive": "1/1000000000000000000", + "beta_below_one": "999999999999999999/1000000000000000000", + "leaf_saving_above_bit": "1554556199261359905876465820862592231924804171034399891824981083025866174017657047764871050118942553408592963243891120512568339513613459557092511662175135503537264907904322589841712380894556479418617716844817419375690823114448633526783152227885754277823279579972186819663/61035156250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_positive": "48632236525851892821087886104264367480799675944267577402589125970392286012313629521466804816152559143430648958185771060574568496996993152308793487084390734022083682525891805323879208222974208616408717457044350132403522472147769730772305287593102612299247000505756387871512437899660867991779579972186819663/30517578125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_internal": "97264473051703785836704718311936306635008788512407768075195828965600108175018916974133825982342952235128949881057446591407036756108879487431660486386540442907488337824864496462735092095677410158287619105443520581382283155182580624309176885551366473216847772114245722176720420027813180337/30517578125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_leaf": "874542572682383738774937628743232422597410874029607713987686370478533195183847440856569351041814228939425431503003006847691206512915609265977916317474108194676120791777025791383591282542955649867596477527852230269227694712406897387700752999494243612128487562100339132008220420027813180337/30517578125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_positive": "48632236525851900450482417354264367480799675944267577402589125970392286012313629521466804816152559143430648958185771060574568496996993152308793487084390734022083682525891805323879208222974208616408717457044350132403522472147769730772305287593102612299247000505756387871512437899660867991779579972186819663/30517578125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "c_below_one": "30468945888474148099549517582645735632519200324055732422597410874029607713987686370478533195183847440856569351041814228939425431503003006847691206512915609265977916317474108194676120791777025791383591282542955649867596477527852230269227694712406897387700752999494243612128487562100339132008220420027813180337/30517578125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "q_below_reservations": "1/4000000000000000000", + "lambda_above_tau": "97264473051703785836704718311936306635008788512407768075195828965600108175018916974133825982342952235128949881057446591407036756108879487431660486386540442907488337824864496462735092095677410158287619105443520581382283155182580624309176885551366473216847772114245722176720420027813180337/61035156250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_sigma": "1749085145364767479201695929799528538559812959546807659900176911991466282192675964739004876101285505643721913124948567103975376269722339044524172148561675946444753245729187086304447472990233889576905335950260939957073106269631214151092329113437120751040127352086432541839720420027813180337/61035156250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_above_internal": "97264473051703785836704718311936306635008788512407768075195828965600108175018916974133825982342952235128949881057446591407036756108879487431660486386540442907488337824864496462735092095677410158287619105443520581382283155182580624309176885551366473216847772114245722176720420027813180337/61035156250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "lambda_prime_above_lambda": "97264473051703785836704718311936306635008788512407768075195828965600108175018916974133825982342952235128949881057446591407036756108879487431660486386540442907488337824864496462735092095677410158287619105443520581382283155182580624309176885551366473216847772114245722176720420027813180337/61035156250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_leaf": "874542572682383738774937628743232422597410874029607713987686370478533195183847440856569351041814228939425431503003006847691206512915609265977916317474108194676120791777025791383591282542955649867596477527852230269227694712406897387700752999494243612128487562100339132008220420027813180337/30517578125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_reservations": "1/4000000000000000000", + "lambda_prime_below_one": "48632236525851892821087886104264367480799675944267577402589125970392286012313629521466804816152559143430648958185771060574568496996993152308793487084390734022083682525891805323879208222974208616408717457044350132403522472147769730772305287593102612299247000505756387871512437899660867991779579972186819663/30517578125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "epsilon_positive": "30517578124999999969482421875000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000/30566210361525851892821087886104264367480799675944267577402589125970392286012313629521466804816152559143430648958185771060574568496996993152308793487084390734022083682525891805323879208222974208616408717457044350132403522472147769730772305287593102612299247000505756387871512437899660867991779579972186819663", + "epsilon_below_one": "48632236525851923338666011104264367480799675944267577402589125970392286012313629521466804816152559143430648958185771060574568496996993152308793487084390734022083682525891805323879208222974208616408717457044350132403522472147769730772305287593102612299247000505756387871512437899660867991779579972186819663/30566210361525851892821087886104264367480799675944267577402589125970392286012313629521466804816152559143430648958185771060574568496996993152308793487084390734022083682525891805323879208222974208616408717457044350132403522472147769730772305287593102612299247000505756387871512437899660867991779579972186819663", + "guard_width": "48632236525851923338666011104264367480799675944267577402589125970392286012313629521466804816152559143430648958185771060574568496996993152308793487084390734022083682525891805323879208222974208616408717457044350132403522472147769730772305287593102612299247000505756387871512437899660867991779579972186819663/30566210361525851892821087886104264367480799675944267577402589125970392286012313629521466804816152559143430648958185771060574568496996993152308793487084390734022083682525891805323879208222974208616408717457044350132403522472147769730772305287593102612299247000505756387871512437899660867991779579972186819663", + "K_geometry": "22936815830275851900450482417354264367480799675944267577402589125970392286012313629521466804816152559143430648958185771060574568496996993152308793487084390734022083682525891805323879208222974208616408717457044350132403522472147769730772305287593102612299247000505756387871512437899660867991779579972186819663/30566210361525851892821087886104264367480799675944267577402589125970392286012313629521466804816152559143430648958185771060574568496996993152308793487084390734022083682525891805323879208222974208616408717457044350132403522472147769730772305287593102612299247000505756387871512437899660867991779579972186819663000000000000000000", + "K_dominates_log": "48632236525851900401850180828412467030317258590003209921789450026124708609724503551074518803838929621963844142033211917143919538811222091734224990087397581713290195441501071301795525697082403292529509234070141515994805015103419598368782815445332881526941712912653775572265437393904480120267142072525951671220420027813180337/30566210361525851892821087886104264367480799675944267577402589125970392286012313629521466804816152559143430648958185771060574568496996993152308793487084390734022083682525891805323879208222974208616408717457044350132403522472147769730772305287593102612299247000505756387871512437899660867991779579972186819663000000000000000000", + "record_suffix": "48632236525851923338666011104264367480799675944267577402589125970392286012313629521466804816152559143430648958185771060574568496996993152308793487084390734022083682525891805323879208222974208616408717457044350132403522472147769730772305287593102612299247000505756387871512437899660867991779579972186819663/30566210361525851892821087886104264367480799675944267577402589125970392286012313629521466804816152559143430648958185771060574568496996993152308793487084390734022083682525891805323879208222974208616408717457044350132403522472147769730772305287593102612299247000505756387871512437899660867991779579972186819663", + "phase_local": "389057892206815356143117727308263047025309521449876251739913331818870710695919910201342152516906843625978386849333609341165899017790174157895779399678132719867875973122743708568949983257901863607390531433380592442819462320137807713774919828597051167621670716452948490672852502691530556062724201877833689312220420027813180337/244529682892206815142568703088834114939846397407554140619220713007763138288098509036171734438529220473147445191665486168484596547975975945218470347896675125872176669460207134442591033665783793668931269739656354801059228179777182157846178442300744820898393976004046051102972099503197286943934236639777494557304000000000000000000", + "phase_boundary": "77811578441363046775655256240971095148191595406563756363342925608360080217112681263954601693530465108022233516944674553488660637009417983119501082338032022126540404957036154496123050630866928462374739708296751595436918498392081436832165988001194448906489913216107608295172900133701000915334890055838043469020420027813180337/48905936578441363028513740617766822987969279481510828123844142601552627657619701807234346887705844094629489038333097233696919309595195189043694069579335025174435333892041426888518206733156758733786253947931270960211845635955436431569235688460148964179678795200809210220594419900639457388786847327955498911460800000000000000000", + "gamma_sublinear": "1/2000000000000000000", + "cell_above_band": "61035156249999999908398633388474148107178912113895735632519200324055732422597410874029607713987686370478533195183847440856569351041814228939425431503003006847691206512915609265977916317474108194676120791777025791383591282542955649867596477527852230269227694712406897387700752999494243612128487562100339132008220420027813180337/122264841446103407571284351544417057469923198703777070309610356503881569144049254518085867219264610236573722595832743084242298273987987972609235173948337562936088334730103567221295516832891896834465634869828177400529614089888591078923089221150372410449196988002023025551486049751598643471967118319888747278652000000000000000000", + "prime_interval_packing": "48632236525851923338666011104264367480799675944267577402589125970392286012313629521466804816152559143430648958185771060574568496996993152308793487084390734022083682525891805323879208222974208616408717457044350132403522472147769730772305287593102612299247000505756387871512437899660867991779579972186819663/30566210361525851892821087886104264367480799675944267577402589125970392286012313629521466804816152559143430648958185771060574568496996993152308793487084390734022083682525891805323879208222974208616408717457044350132403522472147769730772305287593102612299247000505756387871512437899660867991779579972186819663", + "alpha_positive": "97264473051703816111121660682676842140511465784270787324378575996516994622038133072541323619991488765394493100218982977718488035808215244043018477171788315735373877967392876625674733920056611908938226691114491648398327487251189329141088103038435493826188713418410163443777875293565348112046722044712771334220420027813180337/61132420723051703785642175772208528734961599351888535154805178251940784572024627259042933609632305118286861297916371542121149136993993986304617586974168781468044167365051783610647758416445948417232817434914088700264807044944295539461544610575186205224598494001011512775743024875799321735983559159944373639326000000000000000000", + "alpha_below_one": "61035156249999999969531054111525851892821087886104264367480799675944267577402589125970392286012313629521466804816152559143430648958185771060574568496996993152308793487084390734022083682525891805323879208222974208616408717457044350132403522472147769730772305287593102612299247000505756387871512437899660867991779579972186819663/61132420723051703785642175772208528734961599351888535154805178251940784572024627259042933609632305118286861297916371542121149136993993986304617586974168781468044167365051783610647758416445948417232817434914088700264807044944295539461544610575186205224598494001011512775743024875799321735983559159944373639326000000000000000000", + "alpha_below_one_fourth": "15185840707711222130299422282369455341599888372187863001376915986988679148384118681688192078788084790806320831378873902552568796212690281332111378266370407051275667963295553026036264870191430492399266132037407683417803433748822695536245064540758115812323434786834468030491978343656265085883843067941380638497279579972186819663/61132420723051703785642175772208528734961599351888535154805178251940784572024627259042933609632305118286861297916371542121149136993993986304617586974168781468044167365051783610647758416445948417232817434914088700264807044944295539461544610575186205224598494001011512775743024875799321735983559159944373639326000000000000000000", + "delta_positive": "1/8000000000000000000", + "delta_below_one_eighth": "999999999999999999/8000000000000000000", + "short_record_fallback": "1859672142886955689132751557823902212156019316771227582397362463267540206257426118406357622491845303053304441117272611204076465182354226416689911064797306941498764535273803231082694072849112167362650031211794254649107361339093565433276085320966623140199726434737841439126174993484026546696096703387308440552070099117406202752913921327004195570396772767556296869971315789640627495012082785682546727652080772035926859981887148573691937528242617390883811022306679133790559921186116237723892382534176826510284249968632788356251084888869533749947710873056080477941219810880011008733369836080458483433569/1865613425386099358692693352423355979460498027096207737878575996458153826050556251801847339161142123971156655820201768253208897002990539132831347258733178145387090068513543201008537549330015515662622602383852804573510957182137925398606708086400946204363967712433212670158173366571024222899888890379161793192321777343750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "small_field_exposure": "1/1000000000000000000", + "artificial_boundary": "1712096838137654521476388880795250475197234442918745918056208103089937909036995839667285052366270704673743961947772347025307064330682364874929486488664391986434339736142910247742794520373848024767421795541919761034323051590588590313166638105822401876379468723895147716660674537027095564715088430431918939062407338739916560458989/244529682892206815142568703088834114939846397407554140619220713007763138288098509036171734438529220473147445191665486168484596547975975945218470347896675125872176669460207134442591033665783793668931269739656354801059228179777182157846178442300744820898393976004046051102972099503197286943934236639777494557304000000000000000000", + "literal_scalar_guard": "1", + "row_product_gap": "23971789/25", + "balanced_prefix_above_kappa": "15092989949872266014331209367605145948155676350018130311867746295683842559240639922232017894135740617588734545102146695271886189473705002214079418627658894209423093372476429072661483277565937553398426927449486239348232230420581414500634020290318094523653014445646562178235443769514500936642629728171747626013/7641552590381462973205271971526066091870199918986066894350647281492598071503078407380366701204038139785857662239546442765143642124249248288077198371771097683505520920631472951330969802055743552154102179364261087533100880618036942432693076321898275653074811750126439096967878109474915216997944894993046704915750000000000000000", + "coordinate_movement_above_kappa": "154752218317799508579718311936306635008788512407768075195828965600108175018916974133825982342952235128949881057446591407036756108879487431660486386540442907488337824864496462735092095677410158287619105443520581382283155182580624309176885551366473216847772114245722176720420027813180337/61035156250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "compact_phase_layer_above_kappa": "29805749437963212164503749584316319425141905724128253670068396056764977950950246059406604771726809911211507531450401010026970189397823015704008881023551186103670289807379824485322053902040776004977298992340900607260525399210177888271763775873679275482312810782080492325070262640158342878578739332714803684389/30566210361525851892821087886104264367480799675944267577402589125970392286012313629521466804816152559143430648958185771060574568496996993152308793487084390734022083682525891805323879208222974208616408717457044350132403522472147769730772305287593102612299247000505756387871512437899660867991779579972186819663000000000000000000", + "bulk_exposure_above_kappa": "154752218317799508579718311936306635008788512407768075195828965600108175018916974133825982342952235128949881057446591407036756108879487431660486386540442907488337824864496462735092095677410158287619105443520581382283155182580624309176885551366473216847772114245722176720420027813180337/61035156250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "Gaussian_arithmetic_above_kappa": "330144626588283252994493260332843348503577644820858832092754935832031000465638909363817238588262936967122352198477765393397485220673575105088997428649662661031428569506616271298548068840995130665667618091098337908481413761097866415366427122852213511695400227258161207764176638434965725632605253401634989934101/244529682892206815142568703088834114939846397407554140619220713007763138288098509036171734438529220473147445191665486168484596547975975945218470347896675125872176669460207134442591033665783793668931269739656354801059228179777182157846178442300744820898393976004046051102972099503197286943934236639777494557304000000000000000000", + "scalar_work_above_kappa": "452409468034386660565777611877260405973500843524635902402365292335912569609688163881903105807527547203696074794310508477639783494661563077698232602598000223967516904236719838519843585673887027500133252960926515309011027850986457494289516344002585922144597215260184233315662688186564369104572371721523737212753/244529682892206815142568703088834114939846397407554140619220713007763138288098509036171734438529220473147445191665486168484596547975975945218470347896675125872176669460207134442591033665783793668931269739656354801059228179777182157846178442300744820898393976004046051102972099503197286943934236639777494557304000000000000000000", + "dimension_above_kappa": "7617236472118537026628928915846199922461009448619079053805029068525532240364667888303475858036601782446160231896194174823590902977897446983808991101933904530573897707027421258092123570420685520507381098201676465865326046831449296915539154098683138847559208540191655426685136336171646961237498874521454231726879728171747626013/7641552590381462973205271971526066091870199918986066894350647281492598071503078407380366701204038139785857662239546442765143642124249248288077198371771097683505520920631472951330969802055743552154102179364261087533100880618036942432693076321898275653074811750126439096967878109474915216997944894993046704915750000000000000000" + }, + "controls": [ + "next_grid", + "zero_eta", + "zero_beta", + "unit_beta" + ], + "scope": "Conditional finite complex witness composed with cited unchanged PR543 bit supplier. All-size compiler, common-label/mutable-source realization, whole-call hosting, precision/tape and analytic transfer remain assumptions. No unconditional theorem or full Lean certification." +} diff --git a/research/complex-trace-joint-retiming/upstream550/evidence/FIRST-INVOICE.json b/research/complex-trace-joint-retiming/upstream550/evidence/FIRST-INVOICE.json new file mode 100644 index 0000000000..c1d9c97e6a --- /dev/null +++ b/research/complex-trace-joint-retiming/upstream550/evidence/FIRST-INVOICE.json @@ -0,0 +1,106 @@ +{ + "status": "PASS_INDEPENDENT_ASYNC_SCALAR_PREFIX_AND_FINITE_INVOICE", + "template_sha256": "8deedfe6bb7b414e6ad8c8404adcc2d6229cc6a462a51c6c87be7bfb8db09bf4", + "parent_template_sha256": "978af6eea139ea51e78dd5216a7e6e4b17539c9682f29557a666bff2a8a3f250", + "owner_audit_sha256": "54eaba9c05be4978b51cfdb2ed0c1b350cfcded79c48bdf60203937ab1e11eaa", + "controller_audit_sha256": "f3f603726bfaa22487ef9c552e9a4a75af74dd69f52c79fc526cc56231e82b11", + "independent_local_replay_sha256": "79a05018f058295a31ce690549edfa993964db67b8bf11ff334d78d8b8e02d9e", + "canonical_word_sha256": "c76a436cae8990ddd339b615f5e9df02769a59fd2c998b0a5c6767235b6305ab", + "local_programs_sha256": "09ad9150106a3e69d496eae5804557665c660cff7c8214f911d6e16fe25eda75", + "local_checks_sha256": "922ef27e095375bfd572e7ae580984fe62d03a3e1efcfa7bd8eb4c36d11259c1", + "global_prefix_bits": 225, + "charged_prefix_bits": 512, + "complete_invocation_sweeps": 72, + "bridge_sweeps": 72, + "row_prefix_extra": 1024, + "local": { + "backward": { + "events": 22109, + "macros": 16916, + "real_component_primitives": 168284, + "prefix_l1": "1014379822882", + "prefix_bits": 40, + "coefficient_work_primitive_count": 83370, + "all_exact_columns": 728, + "dirty_helper_columns": 504, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 212, + "post_wrappers": 212, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + }, + "forward": { + "events": 22109, + "macros": 16916, + "real_component_primitives": 168236, + "prefix_l1": "86491024246", + "prefix_bits": 37, + "coefficient_work_primitive_count": 83338, + "all_exact_columns": 728, + "dirty_helper_columns": 504, + "all_dirty_helper_columns_restored": true, + "private_centres_and_coefficient_work_cleared": true, + "pre_wrappers": 212, + "post_wrappers": 212, + "endpoint_evidence": "Hash-bound fresh INDEPENDENT-LOCAL-REPLAY.json" + } + }, + "helpers": 504, + "centres": 8, + "live": 7168, + "physical": 7682, + "physical_stock_identity": { + "data_and_owner_families": 7168, + "local_helpers": 504, + "private_centres": 8, + "coefficient_work": 2 + }, + "entering_helpers": 212, + "entrance_rank": 380, + "width_inventory": { + "5": 56, + "8": 156, + "9": 292 + }, + "local_adapters": 343360, + "local_primitive_bound": 8904813777244, + "wrapper_elementary_factors_charged": 4396032, + "factors_per_wrapper": 144, + "compiler": 25934336, + "unhosted_pervertex": 1593256649949080, + "hosted_rebased_pervertex": 1593256649649704, + "conservative_pervertex_used": 4471203639673648, + "retained_prior_overcharge": { + "sha256": "ce1bfa49be88ae67a404f606a11db2232b7e1f2610d4418058e39749d86d8478", + "previous_pervertex_allowance": 2877946989724568, + "added_complete_new_pervertex": 1593256649949080, + "policy": "Retain old allowance and add the entire fresh recount." + }, + "finite": { + "physical_stock_bits": 2641, + "router_bits": 7985, + "literal_bits": 35282, + "physical_row_coefficient": 16467, + "retained_row_coefficient": 20161, + "required_C0_bits": 200012, + "halving_integer_inequality": [ + 5329, + 4608 + ], + "G_exponent": 30000, + "E_exponent": 100000, + "C0_exponent": 210000 + }, + "strict_checks": { + "local_primitive_bound": true, + "logical": true, + "router": true, + "literal": true, + "mass": true, + "precision": true, + "tape": true, + "row": true, + "halving": true + }, + "scope": "Fresh emitted primitive/Horner, prefix, wrapper and finite recount, using the hash-bound independent local all-column/frame replay and actual whole-owner audit. No old INTEGRATION receipt is used to certify the changed word. The inherited all-size compiler, precision/tape and analytic-transfer contracts remain conditional. Retained payload 512 and physical row allowance 20161 are unchanged." +} diff --git a/research/complex-trace-joint-retiming/upstream550/evidence/FIRST-OWNERS.json b/research/complex-trace-joint-retiming/upstream550/evidence/FIRST-OWNERS.json new file mode 100644 index 0000000000..f5949d0498 --- /dev/null +++ b/research/complex-trace-joint-retiming/upstream550/evidence/FIRST-OWNERS.json @@ -0,0 +1,40 @@ +{ + "status": "PASS_INDEPENDENT_ASYNC_OWNERS_AND_PROFILE", + "template_sha256": "8deedfe6bb7b414e6ad8c8404adcc2d6229cc6a462a51c6c87be7bfb8db09bf4", + "paid_profile": { + "1": 164520, + "2": 33208, + "3": 36987, + "4": 12168, + "5": 4032, + "6": 4032, + "7": 208, + "8": 576, + "39": 1, + "48": 1660 + }, + "live": 7168, + "physical": 7682, + "rank_mass": 520704, + "deficit": 2560, + "hosted_residuals": 36288, + "banked_residuals": 0, + "all_live_owners_per_call_distinct": true, + "owners_per_call": 728, + "actual_helper_owner_charts": 36288, + "actual_73column_sigmas": 2972, + "cross_replica_helper_roles": 28243, + "explicit_idle_remainder_children": 4240, + "source_idle_children_charged": 16128, + "source_artifacts": { + "split-centres/CANONICAL-WORD.json.gz": "c76a436cae8990ddd339b615f5e9df02769a59fd2c998b0a5c6767235b6305ab", + "split-centres/LOCAL-PROGRAMS.json.gz": "09ad9150106a3e69d496eae5804557665c660cff7c8214f911d6e16fe25eda75", + "split-centres/LOCAL-CHECKS.json": "922ef27e095375bfd572e7ae580984fe62d03a3e1efcfa7bd8eb4c36d11259c1", + "split-centres/RESIDUAL-ADAPTERS.json": "e4fce8ca73ad20a86711837dd6fe1efad5a335689352791a635969e4d1be4391", + "split-centres/CLIFFORD-RECIPES.json": "304faa830ccc097106875d2c236a24cb284df86c5ca3f92ddbd1431694ad3ded", + "split-centres/CLIFFORD-REVIEW.json": "8527d5e6ace2a4130d094faf6bc67def0bfb2a6fb045ba3e0af2d82021ba9111", + "split-centres/INDEPENDENT-LOCAL-REPLAY.json": "79a05018f058295a31ce690549edfa993964db67b8bf11ff334d78d8b8e02d9e", + "work/complex-nine-native/DATA-PHASES.json": "c5916ff312678f12aba403847643fbbc29f643acec60bdf836fa56cd3e8251fa" + }, + "controller_audit_sha256": "f3f603726bfaa22487ef9c552e9a4a75af74dd69f52c79fc526cc56231e82b11" +} diff --git a/research/complex-trace-joint-retiming/upstream550/evidence/FIRST-PHYSICAL-RECEIPT.json b/research/complex-trace-joint-retiming/upstream550/evidence/FIRST-PHYSICAL-RECEIPT.json new file mode 100644 index 0000000000..1322f46949 --- /dev/null +++ b/research/complex-trace-joint-retiming/upstream550/evidence/FIRST-PHYSICAL-RECEIPT.json @@ -0,0 +1,202 @@ +{ + "status": "PASS_FRESH_STEINBERG256_FULL_PHYSICAL_REPLAY", + "stages": [ + { + "name": "complex-scalar-frame-transport", + "command": [ + "/private/tmp/leap/venv/bin/python", + "-B", + "/private/tmp/pr548-steinberg256-full-replay/inputs/run_portable.py", + "/private/tmp/pr544-complex-dependencies/vendor/pr531/code/audit_and_transport.py", + "--raw", + "/private/tmp/pr548-steinberg256-full-replay/inputs/FULL-WORD.json.gz", + "--routing", + "/private/tmp/pr548-steinberg256-full-replay/inputs/ROUTING-CANONICAL-WORD.json.gz", + "--out", + "/private/tmp/pr548-steinberg256-full-replay/complex-local" + ], + "exit_code": 0, + "seconds": 0.4928908330039121, + "script_sha256": "a4fc272266785e1fffd44775c6fa6df783c4352de4c3f1d925cf953a23b84e7f", + "log_sha256": "41efacae9e5db2fec4451f0031002fb1b60e67be62d5de3a9347a23e5c48446b" + }, + { + "name": "complex-emit-local", + "command": [ + "/private/tmp/leap/venv/bin/python", + "-B", + "/private/tmp/pr548-steinberg256-full-replay/inputs/run_portable.py", + "/private/tmp/pr544-complex-dependencies/vendor/pr531/code/emit_local.py", + "/private/tmp/pr548-steinberg256-full-replay/complex-local" + ], + "exit_code": 0, + "seconds": 0.4802528340369463, + "script_sha256": "eefc76e0bee003015fe21ac685c2cce658033d5444add404d2d509c7d6f39bac", + "log_sha256": "7c031d59c6a1ba454a0db7b824bce0e165987107b32178eea978ebabc6fc78aa" + }, + { + "name": "complex-independent-local", + "command": [ + "/private/tmp/leap/venv/bin/python", + "-B", + "/private/tmp/pr548-steinberg256-full-replay/inputs/run_portable.py", + "/private/tmp/pr544-complex-dependencies/vendor/pr531/code/audit_local.py", + "/private/tmp/pr548-steinberg256-full-replay/complex-local" + ], + "exit_code": 0, + "seconds": 1.8144375840201974, + "script_sha256": "69b12c45d0a961175a824c1967353c7f3b94818a7dd6ac7bbcf56a6d1a5ed8e8", + "log_sha256": "b694b4b22abb9d1de9a70bbbdf9e9b0e030ec00a7eddc264e4c18376dd859cee" + }, + { + "name": "complex-normalized-wrappers", + "command": [ + "/private/tmp/leap/venv/bin/python", + "-B", + "/private/tmp/pr548-steinberg256-full-replay/inputs/run_portable.py", + "/private/tmp/pr544-complex-dependencies/vendor/pr531/code/adapters_local.py", + "/private/tmp/pr548-steinberg256-full-replay/complex-local/CANONICAL-WORD.json.gz", + "/private/tmp/pr548-steinberg256-full-replay/complex-local/RESIDUAL-ADAPTERS.json", + "/private/tmp/pr548-steinberg256-full-replay/complex-local/WRAPPER-CHECKS.json" + ], + "exit_code": 0, + "seconds": 0.863204958033748, + "script_sha256": "4e89a5c517cd87ff6a5aa9b7334c0d74821179ae5777d31284da25b9d8abf113", + "log_sha256": "4638570164b60b9d83753f6fd3a6359713fc062971e022bdea919f8d479b298a" + }, + { + "name": "complex-every-local-phase", + "command": [ + "/private/tmp/leap/venv/bin/python", + "-B", + "/private/tmp/pr548-steinberg256-full-replay/inputs/run_portable.py", + "/private/tmp/pr544-complex-dependencies/code/phases_full.py", + "/private/tmp/pr548-steinberg256-full-replay/complex-local", + "/private/tmp/pr544-complex-dependencies/vendor/pr531/vendor/clifford" + ], + "exit_code": 0, + "seconds": 89.88522254198324, + "script_sha256": "a273c325ffd6793d5b63b79a289a9d2bbc9292e6940fb5a926924f3708627af4", + "log_sha256": "1e1b9a9caf5c78c5dff1366931b496e43737c37d1cf3efb23d861140a07821b0" + }, + { + "name": "complex-bind-retained-data", + "command": [ + "/private/tmp/leap/venv/bin/python", + "-B", + "/private/tmp/pr548-steinberg256-full-replay/inputs/run_portable.py", + "/private/tmp/pr544-complex-dependencies/vendor/pr531/code/prepare_supplier_base.py", + "--data-base", + "/private/tmp/pr548-steinberg256-full-replay/inputs/controller-input", + "--local", + "/private/tmp/pr548-steinberg256-full-replay/complex-local", + "--out", + "/private/tmp/pr548-steinberg256-full-replay/complex-base" + ], + "exit_code": 0, + "seconds": 1.3346366669866256, + "script_sha256": "f5eae94aca965d0008bc07cff8245ccb7509042ccad457d3bcb7d51c1e9409f0", + "log_sha256": "fd6b4cd2859865f5ca56757b60f9cb4c4a88a1ea6689af149b937b07ddc0d52b" + }, + { + "name": "complex-emit-whole-owners", + "command": [ + "/private/tmp/leap/venv/bin/python", + "-B", + "/private/tmp/pr548-steinberg256-full-replay/inputs/run_portable.py", + "/private/tmp/pr544-complex-dependencies/vendor/pr531/code/emit_supplier_hosted.py", + "--base", + "/private/tmp/pr548-steinberg256-full-replay/complex-base", + "--owners", + "/private/tmp/pr548-steinberg256-full-replay/inputs/SAT-OWNERS.json.gz", + "--plan", + "/private/tmp/pr548-steinberg256-full-replay/inputs/SAT534-PLAN.json", + "--out", + "/private/tmp/pr548-steinberg256-full-replay/complex-hosted" + ], + "exit_code": 1, + "seconds": 1.9796364170033485, + "script_sha256": "53c0b653b3a5100756d6a9473c90101b8c3ab72723d7047983906ab997bdf920", + "log_sha256": "de950ed1968b7284a642ec52b491a38bef920612c0aee9bdd816973c82c73a4d" + }, + { + "name": "complex-emit-whole-owners-candidate-plan", + "command": [ + "/private/tmp/leap/venv/bin/python", + "-B", + "/private/tmp/pr548-steinberg256-full-replay/inputs/run_portable.py", + "/private/tmp/pr544-complex-dependencies/vendor/pr531/code/emit_supplier_hosted.py", + "--base", + "/private/tmp/pr548-steinberg256-full-replay/complex-base", + "--owners", + "/private/tmp/pr548-steinberg256-full-replay/inputs/SAT-OWNERS.json.gz", + "--plan", + "/private/tmp/pr548-steinberg256-full-replay/inputs/PLAN-CANDIDATE.json", + "--out", + "/private/tmp/pr548-steinberg256-full-replay/complex-hosted" + ], + "exit_code": 0, + "seconds": 2.147680165944621, + "script_sha256": "53c0b653b3a5100756d6a9473c90101b8c3ab72723d7047983906ab997bdf920", + "log_sha256": "445cca87c630b26faf22d7cb1afd682acc6a26ff5ef39f2a51dcf8204bc25e0b" + }, + { + "name": "complex-independent-owners-and-controls", + "command": [ + "/private/tmp/leap/venv/bin/python", + "-B", + "/private/tmp/pr548-steinberg256-full-replay/inputs/run_portable.py", + "/private/tmp/pr544-complex-dependencies/vendor/pr531/code/audit_supplier_hosted.py", + "/private/tmp/pr548-steinberg256-full-replay/complex-base", + "/private/tmp/pr548-steinberg256-full-replay/complex-hosted", + "/private/tmp/pr548-steinberg256-full-replay/complex-audit/ASYNC-AUDIT.json", + "--mutation-controls" + ], + "exit_code": 0, + "seconds": 5.477626875042915, + "script_sha256": "301e9b5c593b6d583065337eb7b3ef207cf039e265f099f89080a4bf25856b43", + "log_sha256": "f3f603726bfaa22487ef9c552e9a4a75af74dd69f52c79fc526cc56231e82b11" + }, + { + "name": "complex-finite-invoice", + "command": [ + "/private/tmp/leap/venv/bin/python", + "-B", + "/private/tmp/pr548-steinberg256-full-replay/inputs/run_portable.py", + "/private/tmp/pr544-complex-dependencies/vendor/pr531/code/invoice_final.py", + "--base", + "/private/tmp/pr548-steinberg256-full-replay/complex-base", + "--hosted", + "/private/tmp/pr548-steinberg256-full-replay/complex-hosted", + "--audit", + "/private/tmp/pr548-steinberg256-full-replay/complex-audit", + "--out", + "/private/tmp/pr548-steinberg256-full-replay/complex-audit", + "--retained-invoice", + "/private/tmp/pr544-complex-dependencies/vendor/pr531/evidence/audit/PREFIX-AND-INVOICE.json" + ], + "exit_code": 0, + "seconds": 0.4874481249717064, + "script_sha256": "96b6bed96ca8b60dfc064cd1c7962c45a5cb53c4e52cd90aaea6ccf8d109db97", + "log_sha256": "eb17b8b08a24c68355d5aa591ecd54c4c2c08ac713c00b8c656b9de756a2a256" + } + ], + "artifacts": { + "inputs/FULL-WORD.json.gz": "06f01f0dc9655cbafadcb7a8941423e4dbff2b95063e222065bd7e97835f090a", + "inputs/PLAN-CANDIDATE.json": "8450ab796ac690e77a264433e51e9029eccedb123c6a4db804bbc8c24e6ef690", + "inputs/PLAN-CHANGE.json": "b0e193bab3c92a6723bf5801913f27e283739f94729689089503b1f7fe53d357", + "inputs/SCALAR-AUDIT.json": "d64f613be947234bb5962f3142839211ba43d7f571ee03d88e406f3e339abb5b", + "inputs/PRICE.json": "1ab626ff7960a8fceb8acbba9239da2d921e918989ba47e41ba83a0fc911160c", + "inputs/FREEZE.json": "869618b964ca815b9aa508a990518982ddf1c0d7df84d7a900575d95c9b7510d", + "complex-local/INDEPENDENT-LOCAL-REPLAY.json": "79a05018f058295a31ce690549edfa993964db67b8bf11ff334d78d8b8e02d9e", + "complex-local/CLIFFORD-REVIEW.json": "8527d5e6ace2a4130d094faf6bc67def0bfb2a6fb045ba3e0af2d82021ba9111", + "complex-local/WRAPPER-CHECKS.json": "bc9d150517bae20490620f6d18b1af68a7d57ca5efe772613a9ee5ccd09107d8", + "complex-audit/ASYNC-AUDIT.json": "f3f603726bfaa22487ef9c552e9a4a75af74dd69f52c79fc526cc56231e82b11", + "complex-audit/OWNERS-AND-PROFILE.json": "54eaba9c05be4978b51cfdb2ed0c1b350cfcded79c48bdf60203937ab1e11eaa", + "complex-audit/PREFIX-AND-INVOICE.json": "eb17b8b08a24c68355d5aa591ecd54c4c2c08ac713c00b8c656b9de756a2a256", + "RESULT.json": "15728246a433a66095d040e1510583765a2677d4fbab543756edc85642200cce", + "STALE-PLAN-FAILURE.json": "7137d7b35c0f8fdae2f66d97d7edee99db8940d5c57a07f55f79050aeca884c7" + }, + "source_word_sha256": "06f01f0dc9655cbafadcb7a8941423e4dbff2b95063e222065bd7e97835f090a", + "controls": "All nine mathematical stage types passed. Old baseline profile nomination rejected; only profile corrected for successful fresh emission, then independent owner7controls and invoice rerun." +} diff --git a/research/complex-trace-joint-retiming/upstream550/evidence/FIRST-PHYSICAL-RESULT.json b/research/complex-trace-joint-retiming/upstream550/evidence/FIRST-PHYSICAL-RESULT.json new file mode 100644 index 0000000000..863d42b2e0 --- /dev/null +++ b/research/complex-trace-joint-retiming/upstream550/evidence/FIRST-PHYSICAL-RESULT.json @@ -0,0 +1,41 @@ +{ + "status": "PASS_FRESH_STEINBERG256_FULL_PHYSICAL_REPLAY", + "complex_local_profile": { + "1": 2285, + "2": 455, + "3": 487, + "4": 169, + "5": 56, + "6": 56, + "8": 8 + }, + "complex_global_profile": { + "1": 164520, + "2": 33208, + "3": 36987, + "4": 12168, + "5": 4032, + "6": 4032, + "7": 208, + "8": 576, + "39": 1, + "48": 1660 + }, + "complex_word_sha256": "c76a436cae8990ddd339b615f5e9df02769a59fd2c998b0a5c6767235b6305ab", + "complex_program_sha256": "09ad9150106a3e69d496eae5804557665c660cff7c8214f911d6e16fe25eda75", + "complex_phase_sha256": "304faa830ccc097106875d2c236a24cb284df86c5ca3f92ddbd1431694ad3ded", + "complex_template_sha256": "8deedfe6bb7b414e6ad8c8404adcc2d6229cc6a462a51c6c87be7bfb8db09bf4", + "complex_live": 7168, + "complex_physical": 7682, + "complex_deficit": 2560, + "complex_helper_roles": 36288, + "complex_prefix_bits": 225, + "complex_charged_prefix_bits": 512, + "phase_edges": 2929, + "endpoint_adapters": 224, + "actual_maps": 2972, + "stale_baseline_profile_rejected": true, + "corrected_nomination_changes_only_profile": true, + "python": "3.12.13 (main, Mar 3 2026, 12:39:30) [Clang 21.0.0 (clang-2100.0.123.102)]", + "scope": "Fresh finite candidate admission, using unchanged pinned548 owner map, windows and order with complete new profile claim. Baseline plan claim failed and remains preserved. No bit or outer assembly claimed here." +} diff --git a/research/complex-trace-joint-retiming/upstream550/evidence/INDEPENDENT-REVIEW.json b/research/complex-trace-joint-retiming/upstream550/evidence/INDEPENDENT-REVIEW.json new file mode 100644 index 0000000000..fe8baf8846 --- /dev/null +++ b/research/complex-trace-joint-retiming/upstream550/evidence/INDEPENDENT-REVIEW.json @@ -0,0 +1,282 @@ +{ + "status": "PASS_INDEPENDENT_EXACT_STEINBERG_CONSTRUCTOR_NATIVE_LEDGER_AND_PRICE_REVIEW", + "source_hashes": { + "baseline": { + "path": "/private/tmp/pr548-complex-local-audit/syndrome/FULL-WORD.json.gz", + "sha256": "4fcc8aeb5206c4fd68c741ff417449af96156ab62aab9b8620e523d393587ca3" + }, + "candidate": { + "path": "/private/tmp/pr548-complex-local-audit/steinberg-expand-baseline256/FULL-WORD.json.gz", + "sha256": "06f01f0dc9655cbafadcb7a8941423e4dbff2b95063e222065bd7e97835f090a" + }, + "native_raw": { + "path": "/private/tmp/pr548-complex-local-audit/steinberg-native/FULL-WORD.json.gz", + "sha256": "06f01f0dc9655cbafadcb7a8941423e4dbff2b95063e222065bd7e97835f090a" + }, + "canonical": { + "path": "/private/tmp/pr548-complex-local-audit/steinberg-native/CANONICAL-WORD.json.gz", + "sha256": "aa26e70396c02f63b002f6cedaf342169b64af3ad6ea572a95e147a17a49eb07" + }, + "programs": { + "path": "/private/tmp/pr548-complex-local-audit/steinberg-native/LOCAL-PROGRAMS.json.gz", + "sha256": "d53afa27ef360b4a6e9451effddd5d2d0917213659a07b209b04de5d7b611b6a" + }, + "native_checks": { + "path": "/private/tmp/pr548-complex-local-audit/steinberg-native/LOCAL-CHECKS.json", + "sha256": "922ef27e095375bfd572e7ae580984fe62d03a3e1efcfa7bd8eb4c36d11259c1" + }, + "local_replay": { + "path": "/private/tmp/pr548-complex-local-audit/steinberg-native/INDEPENDENT-LOCAL-REPLAY.json", + "sha256": "24edcc9a509bf118f0b9bf003fad3682f27906f75b7c0ab323a785310e0dd067" + }, + "scalar_frame": { + "path": "/private/tmp/pr548-complex-local-audit/steinberg-native/SCALAR-FRAME-AUDIT.json", + "sha256": "efb87ecd24cb70d8997b13ec37f188e02910e1b9ca26a409bb14bbd07c254540" + }, + "price": { + "path": "/private/tmp/pr548-complex-local-audit/steinberg-expand-baseline256/PRICE.json", + "sha256": "1ab626ff7960a8fceb8acbba9239da2d921e918989ba47e41ba83a0fc911160c" + }, + "constructor": { + "path": "/private/tmp/pr548-complex-local-audit/steinberg_expand_search.py", + "sha256": "00083a8520b6ff619f9f56938f4ece918a52ca9720947579b95fcacb145341a8" + }, + "baseline_expected": { + "path": "/private/tmp/static44-owner-experiment/pr548/PR548-EXPECTED.json", + "sha256": "2e458dd9880d001b63153e37ef7954c6bcfceae378ab4b225cfa1c94ea8e23ce" + }, + "moment": { + "path": "/private/tmp/static44-owner-experiment/engines/moment.py", + "sha256": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482" + }, + "base_two_moment": { + "path": "/private/tmp/static44-owner-experiment/engines/base_two_moment.py", + "sha256": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098" + }, + "independent_review_script": { + "path": "/private/tmp/static44-owner-experiment/steinberg548-review/review.py", + "sha256": "70509c33d684a28a883a7b52aefb11e55c68f21bea3ee1d800359f5e7ff43b28" + } + }, + "exact_edit": { + "section": "B", + "positions": [ + 936, + 1048 + ], + "registers": [ + 616, + 283, + 299 + ], + "old_operations": 2, + "new_operations": 3, + "intervening_gates": 111, + "intervening_types": { + "add": 111 + }, + "all_three_registers_untouched": true, + "forward_and_inverse_transpose_identity": true, + "literal_inverse_cleanup": true, + "changed_scalar_macros": 2 + }, + "local_profile_delta": { + "1": 1, + "2": -1, + "3": -1, + "4": 1 + }, + "old_local_profile": { + "1": 2284, + "2": 456, + "3": 488, + "4": 168, + "5": 56, + "6": 56, + "8": 8 + }, + "new_local_profile": { + "1": 2285, + "2": 455, + "3": 487, + "4": 169, + "5": 56, + "6": 56, + "8": 8 + }, + "affected_register_rank_sequences": { + "616": { + "old": [ + 3, + 2, + 1, + 1, + 1 + ], + "new": [ + 3, + 1, + 2, + 1, + 1 + ] + }, + "283": { + "old": [ + 1, + 1, + 1, + 1, + 2, + 1, + 1, + 1 + ], + "new": [ + 1, + 1, + 1, + 1, + 1, + 2, + 1, + 1 + ] + }, + "299": { + "old": [ + 1, + 1, + 1, + 1, + 2, + 3 + ], + "new": [ + 1, + 1, + 1, + 1, + 1, + 4 + ] + } + }, + "widths": { + "5": 56, + "8": 156, + "9": 292 + }, + "native_ledgers": { + "forward": { + "paid_profile": { + "1": 2285, + "2": 455, + "3": 487, + "4": 169, + "5": 56, + "6": 56, + "8": 8 + }, + "rank_mass": 6012, + "event_counts": { + "phase": 9, + "scalar": 16916, + "adapter": 1244, + "residual_adapter": 424, + "climb": 3508, + "center": 8 + }, + "program_digest": "d5b10acb84862d3b7d646bfee98390a73ca73e8ab679f617408e8f6374c0d3a6", + "scalar_macros_by_phase": { + "zero_frame_precondition": 9924, + "A": 2007, + "centers": 248, + "B": 1889, + "full_frame_cleanup": 2848 + }, + "real_component_primitive_bound": 168236, + "ordered_wrapper_pairs": 212 + }, + "backward": { + "paid_profile": { + "1": 2285, + "2": 455, + "3": 487, + "4": 169, + "5": 56, + "6": 56, + "8": 8 + }, + "rank_mass": 6012, + "event_counts": { + "phase": 9, + "scalar": 16916, + "adapter": 1244, + "residual_adapter": 424, + "climb": 3508, + "center": 8 + }, + "program_digest": "aaba8aa206711db1493a61d781b9b6b676fb2fb3cabbe6ecd953324dad7a1d60", + "scalar_macros_by_phase": { + "zero_frame_precondition": 9924, + "A": 2007, + "centers": 248, + "B": 1889, + "full_frame_cleanup": 2848 + }, + "real_component_primitive_bound": 168284, + "ordered_wrapper_pairs": 212 + } + }, + "global_profile": { + "1": 164520, + "2": 33208, + "3": 36987, + "4": 12168, + "5": 4032, + "6": 4032, + "7": 208, + "8": 576, + "39": 1, + "48": 1660 + }, + "unchanged_idle_profile": { + "2": 448, + "3": 1923, + "7": 208, + "39": 1, + "48": 1660 + }, + "exact_price_endpoints": [ + { + "exponent": "398395281619778713553/250000000000000000000000", + "mercator": [ + "1684996666696914987166684732880997870815363895164287473124594743993/1684996666696914987166688442938726917102321526408785780068975640576", + "13479973333575319897333477863047982966522911161314299784996757951945/13479973333575319897333507543509815336818572211270286240551805124608" + ], + "base_two": [ + "4999999999999999999999988990899880523376230989/5000000000000000000000000000000000000000000000", + "4999999999999999999999988990904880523376231057/5000000000000000000000000000000000000000000000" + ] + }, + { + "exponent": "1593581126479114854213/1000000000000000000000000", + "mercator": [ + "26959946667150639794667038732182049197824859593993221966479723009467/26959946667150639794667015087019630673637144422540572481103610249216", + "26959946667150639794667038732182049197824859593993221966479723009469/26959946667150639794667015087019630673637144422540572481103610249216" + ], + "base_two": [ + "5000000000000000000000004385234880704557395867/5000000000000000000000000000000000000000000000", + "1000000000000000000000000877047976140911479187/1000000000000000000000000000000000000000000000" + ] + } + ], + "scope": "Independent constructor diff, exact disjoint commutation/Steinberg identity in both orientations, literal cleanup, native transport binding, all scalar common-frame incidences and complete paid child profiles, ordered wrappers, complete fixed-owner price including fallback. Native all-column endpoint receipts inspected and hash-bound. Global physical phase/hosting/finite invoice and outer exact assembly remain separate; this review does not claim them.", + "issues": [ + { + "severity": "cosmetic", + "message": "Search module docstring describes reverse 3-to-2 move; implementation and SEARCH scope correctly perform 2-to-3." + } + ] +} diff --git a/research/complex-trace-joint-retiming/upstream550/evidence/PR543-LOCAL-REPLAY.json b/research/complex-trace-joint-retiming/upstream550/evidence/PR543-LOCAL-REPLAY.json new file mode 100644 index 0000000000..9937764a51 --- /dev/null +++ b/research/complex-trace-joint-retiming/upstream550/evidence/PR543-LOCAL-REPLAY.json @@ -0,0 +1,47 @@ +{ + "status": "PASS_EXACT_REPLAY_AND_INTERLEAVED_INTERFACE", + "hypotheses": { + "H1_no_target_feeds_z": true, + "H2_D_frame0_targets_from_helpers": true, + "H3_A_z_only_scatter_targets_B_split": true, + "H4_C_literal_reverse_at_full": true, + "H5_V_identity": true + }, + "conclusion": { + "U_block_form": true, + "J_identity": true, + "K_equals_D": true, + "C_is_U_inverse": true + }, + "interleaving": { + "z_gates_A": 2064, + "source_writes_A": 0, + "z_gates_B": 597, + "source_writes_B": 597, + "helper_writes_B": 0, + "sources_rewritten_B": 120, + "B_z_write_frame_dims": { + "4": 477, + "6": 120 + }, + "B_z_operand_kinds": { + "source<-helper": 120, + "source<-source": 477 + }, + "B_z_operand_kinds_by_dim": { + "dim4:source<-source": 477, + "dim6:source<-helper": 120 + }, + "B_z_writes_after_a_target_read_of_the_same_register": 597, + "B_target_reads_of_registers_rewritten_earlier_in_B": 120, + "target_reads_of_targets": 0, + "cleanup_gates": 2661 + }, + "gates": { + "D": 120, + "A": 2064, + "B": 837, + "C": 2661 + }, + "columns": 660 +} \ No newline at end of file diff --git a/research/complex-trace-joint-retiming/upstream550/evidence/REVIEW.txt b/research/complex-trace-joint-retiming/upstream550/evidence/REVIEW.txt new file mode 100644 index 0000000000..d168d31c9a --- /dev/null +++ b/research/complex-trace-joint-retiming/upstream550/evidence/REVIEW.txt @@ -0,0 +1,74 @@ +Independent review of the PR548 Steinberg 2-to-3 candidate +Prepared with OpenAI Codex. Candidate inputs were read only. + +RESULT: PASS for the exact constructor edit, commutation, inverse cleanup, +native frame ledgers in both orientations, complete fixed-owner paid profile, +and two-engine rational complex-exponent root enclosure. + +This is an independent checker: review.py imports neither the candidate search +constructor nor its frame routines. It represents each F2^9 subspace as the +literal set of all its vectors and uses set inclusion for every frame check. +All source, program, receipt and checker hashes are in INDEPENDENT-REVIEW.json. + +The exact B-section edit replaces positions 936 and 1048 (zero-based): + j += k; ...; i += j +by + i += j; i += k; j += k; ... +where i=616, j=283, k=299, and all coefficients are one. The 111 intervening +operations are ADDs and touch NONE of these three registers. Thus even the +stronger disjointness condition holds; there is no mutable-source assumption. +Exact rational three-register matrices agree in both forward and same-order +inverse-transpose orientations. All three replacement gates use the frame +[290,162,98,24,6], one rank below the two original gates. The full-frame cleanup +is exactly the inverse reverse helper-target subword, with the extra ADD paid. + +Only B, cleanup and report.local_profile change in the raw object. A, cut, +precondition, entrances, ports, center frames, target levels and metadata other +than local_profile are identical. The native word is equal to the candidate, +and the canonical word is independently bound to its tau43 frame transport and +port permutation. All native scalar operations outside center scaffolding are +bound individually to canonical source operations (or their inverse transpose). + +Complete local paid profile, in both emitted orientations: + {1:2285, 2:455, 3:487, 4:169, 5:56, 6:56, 8:8}. +Delta is e1-e2-e3+e4. Local rank mass remains 6012. Register 299 accounts for the +histogram improvement: its last two old paid ranks [2,3] become [1,4]. Changes +at registers 616 and 283 only reorder their rank-1/rank-2 payments. Widths +remain {5:56, 8:156, 9:292}; the unchanged 504 physical helper roles can therefore +be tested against the existing owner assignment. + +Each actual native program has 22,109 events, including 16,916 scalar macros, +3,508 ordinary climbs, eight center transitions, and 212 ordered pre/post +wrapper pairs. Scalar macro counts by phase are: + precondition+compensation 9,924; A 2,007; centers 248; + B 1,889; cleanup 2,848. +The real-component primitive bound recount is 168,236 forward / 168,284 backward. +The candidate's extra main ADD and cleanup ADD are present in these counts; +they add 16 real-component primitive steps per invocation relative to the old +scalar word. No scalar operation was discounted because the paid child profile +improved. Both literal program digests match LOCAL-CHECKS.json. + +The existing native endpoint receipt reports all 728 columns exact in each +orientation, arbitrary helper restoration, erased private work and 11 rejected +negative controls. This review inspects and hash-binds that receipt; it does +not claim a third independent full-column replay. The new independent work here +is the exact structural/identity proof and complete set-based native ledger. + +The unchanged idle profile is {2:448,3:1923,7:208,39:1,48:1660}. Multiplying the +new local profile by 72 and adding every idle child yields: + {1:164520,2:33208,3:36987,4:12168,5:4032,6:4032, + 7:208,8:576,39:1,48:1660}. +Its total rank mass is 520704. Both independent rational engines, including the +inherited per-child fallback, certify the complex exponent lower endpoint + b = 0.001593581126479114854212 +and reject the next tick + b = 0.001593581126479114854213. + +Only issue found: the search script's opening docstring describes the reverse +3-to-2 transformation, while its implementation and output correctly use +2-to-3. This is cosmetic and should be corrected in any publication copy. + +SCOPE: This review does not admit the global physical template, Clifford phase +lowering, owner-hosting assembly, full global finite-work invoice, or outer +integer kappa. The dedicated physical replay and exact outer assembly must +establish those before publication. Existing PR heads remain untouched. diff --git a/research/complex-trace-joint-retiming/upstream550/evidence/STALE-PLAN-FAILURE.json b/research/complex-trace-joint-retiming/upstream550/evidence/STALE-PLAN-FAILURE.json new file mode 100644 index 0000000000..7e200f0f7f --- /dev/null +++ b/research/complex-trace-joint-retiming/upstream550/evidence/STALE-PLAN-FAILURE.json @@ -0,0 +1,123 @@ +{ + "error": "RuntimeError('complex-emit-whole-owners failed\\nTraceback (most recent call last):\\n File \"/private/tmp/pr548-steinberg256-full-replay/inputs/run_portable.py\", line 24, in \\n runpy.run_path(str(script),run_name=\\'__main__\\')\\n File \"\", line 287, in run_path\\n File \"\", line 98, in _run_module_code\\n File \"\", line 88, in _run_code\\n File \"/private/tmp/pr544-complex-dependencies/vendor/pr531/code/emit_supplier_hosted.py\", line 94, in \\n assert dict(sorted(paid.items()))=={int(k):v for k,v in plan[\\'profile\\'].items()}\\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\nAssertionError\\n')", + "stages": [ + { + "name": "complex-scalar-frame-transport", + "command": [ + "/private/tmp/leap/venv/bin/python", + "-B", + "/private/tmp/pr548-steinberg256-full-replay/inputs/run_portable.py", + "/private/tmp/pr544-complex-dependencies/vendor/pr531/code/audit_and_transport.py", + "--raw", + "/private/tmp/pr548-steinberg256-full-replay/inputs/FULL-WORD.json.gz", + "--routing", + "/private/tmp/pr548-steinberg256-full-replay/inputs/ROUTING-CANONICAL-WORD.json.gz", + "--out", + "/private/tmp/pr548-steinberg256-full-replay/complex-local" + ], + "exit_code": 0, + "seconds": 0.4928908330039121, + "script_sha256": "a4fc272266785e1fffd44775c6fa6df783c4352de4c3f1d925cf953a23b84e7f", + "log_sha256": "41efacae9e5db2fec4451f0031002fb1b60e67be62d5de3a9347a23e5c48446b" + }, + { + "name": "complex-emit-local", + "command": [ + "/private/tmp/leap/venv/bin/python", + "-B", + "/private/tmp/pr548-steinberg256-full-replay/inputs/run_portable.py", + "/private/tmp/pr544-complex-dependencies/vendor/pr531/code/emit_local.py", + "/private/tmp/pr548-steinberg256-full-replay/complex-local" + ], + "exit_code": 0, + "seconds": 0.4802528340369463, + "script_sha256": "eefc76e0bee003015fe21ac685c2cce658033d5444add404d2d509c7d6f39bac", + "log_sha256": "7c031d59c6a1ba454a0db7b824bce0e165987107b32178eea978ebabc6fc78aa" + }, + { + "name": "complex-independent-local", + "command": [ + "/private/tmp/leap/venv/bin/python", + "-B", + "/private/tmp/pr548-steinberg256-full-replay/inputs/run_portable.py", + "/private/tmp/pr544-complex-dependencies/vendor/pr531/code/audit_local.py", + "/private/tmp/pr548-steinberg256-full-replay/complex-local" + ], + "exit_code": 0, + "seconds": 1.8144375840201974, + "script_sha256": "69b12c45d0a961175a824c1967353c7f3b94818a7dd6ac7bbcf56a6d1a5ed8e8", + "log_sha256": "b694b4b22abb9d1de9a70bbbdf9e9b0e030ec00a7eddc264e4c18376dd859cee" + }, + { + "name": "complex-normalized-wrappers", + "command": [ + "/private/tmp/leap/venv/bin/python", + "-B", + "/private/tmp/pr548-steinberg256-full-replay/inputs/run_portable.py", + "/private/tmp/pr544-complex-dependencies/vendor/pr531/code/adapters_local.py", + "/private/tmp/pr548-steinberg256-full-replay/complex-local/CANONICAL-WORD.json.gz", + "/private/tmp/pr548-steinberg256-full-replay/complex-local/RESIDUAL-ADAPTERS.json", + "/private/tmp/pr548-steinberg256-full-replay/complex-local/WRAPPER-CHECKS.json" + ], + "exit_code": 0, + "seconds": 0.863204958033748, + "script_sha256": "4e89a5c517cd87ff6a5aa9b7334c0d74821179ae5777d31284da25b9d8abf113", + "log_sha256": "4638570164b60b9d83753f6fd3a6359713fc062971e022bdea919f8d479b298a" + }, + { + "name": "complex-every-local-phase", + "command": [ + "/private/tmp/leap/venv/bin/python", + "-B", + "/private/tmp/pr548-steinberg256-full-replay/inputs/run_portable.py", + "/private/tmp/pr544-complex-dependencies/code/phases_full.py", + "/private/tmp/pr548-steinberg256-full-replay/complex-local", + "/private/tmp/pr544-complex-dependencies/vendor/pr531/vendor/clifford" + ], + "exit_code": 0, + "seconds": 89.88522254198324, + "script_sha256": "a273c325ffd6793d5b63b79a289a9d2bbc9292e6940fb5a926924f3708627af4", + "log_sha256": "1e1b9a9caf5c78c5dff1366931b496e43737c37d1cf3efb23d861140a07821b0" + }, + { + "name": "complex-bind-retained-data", + "command": [ + "/private/tmp/leap/venv/bin/python", + "-B", + "/private/tmp/pr548-steinberg256-full-replay/inputs/run_portable.py", + "/private/tmp/pr544-complex-dependencies/vendor/pr531/code/prepare_supplier_base.py", + "--data-base", + "/private/tmp/pr548-steinberg256-full-replay/inputs/controller-input", + "--local", + "/private/tmp/pr548-steinberg256-full-replay/complex-local", + "--out", + "/private/tmp/pr548-steinberg256-full-replay/complex-base" + ], + "exit_code": 0, + "seconds": 1.3346366669866256, + "script_sha256": "f5eae94aca965d0008bc07cff8245ccb7509042ccad457d3bcb7d51c1e9409f0", + "log_sha256": "fd6b4cd2859865f5ca56757b60f9cb4c4a88a1ea6689af149b937b07ddc0d52b" + }, + { + "name": "complex-emit-whole-owners", + "command": [ + "/private/tmp/leap/venv/bin/python", + "-B", + "/private/tmp/pr548-steinberg256-full-replay/inputs/run_portable.py", + "/private/tmp/pr544-complex-dependencies/vendor/pr531/code/emit_supplier_hosted.py", + "--base", + "/private/tmp/pr548-steinberg256-full-replay/complex-base", + "--owners", + "/private/tmp/pr548-steinberg256-full-replay/inputs/SAT-OWNERS.json.gz", + "--plan", + "/private/tmp/pr548-steinberg256-full-replay/inputs/SAT534-PLAN.json", + "--out", + "/private/tmp/pr548-steinberg256-full-replay/complex-hosted" + ], + "exit_code": 1, + "seconds": 1.9796364170033485, + "script_sha256": "53c0b653b3a5100756d6a9473c90101b8c3ab72723d7047983906ab997bdf920", + "log_sha256": "de950ed1968b7284a642ec52b491a38bef920612c0aee9bdd816973c82c73a4d" + } + ] +} diff --git a/research/complex-trace-joint-retiming/upstream550/inputs/PR543-ACQUISITION.json b/research/complex-trace-joint-retiming/upstream550/inputs/PR543-ACQUISITION.json new file mode 100644 index 0000000000..ba86824270 --- /dev/null +++ b/research/complex-trace-joint-retiming/upstream550/inputs/PR543-ACQUISITION.json @@ -0,0 +1,59 @@ +{ + "repo": "eumemic/integer-mult-bounds", + "head": "2065fe4f72a914d907f1046603f5a36f17018535", + "prefix": "research/e8-bit-r420/", + "files": 49, + "reused": 8, + "status": "PASS_EXACT_GIT_BLOBS", + "blobs": { + "DEPENDS.json": "25cb6abcf9ce8d48191f3fdfae44be136537796c", + "EXPECTED.json": "b61d859826246e0c3dabbe096e57ad7015eadfd5", + "LICENSE": "261eeb9e9f8b2b4b0d119366dda99c6fd7d35c64", + "MANIFEST.sha256": "8117af93d3b0b207374a102cdc78e38e820a1d3a", + "NOTICE.md": "cb68783d7d76c3fc13faa571429e9b067a0db3f7", + "README.md": "6751eba6f617292fc919e58d5a9f9f06ab037391", + "SOURCE-pr510.json": "f44af5ca75faa5871c020fa3154abbb1c2b4b3d4", + "SOURCE-pr535.json": "9002227599dbcac6dd0cbc854925ad1f90238905", + "code/adapt11.py": "f62da10e7cb51ffdf0b0e7bbcb293b9f04bc9858", + "code/cited.py": "c4ee5a5258b89232903ac78987dc7a529b3e0591", + "code/gen_l3.py": "6bbd36540c5527950a547b0e80d3aacdc653d497", + "code/mutants.py": "5b0fa1922076d2e91367b58483c96b33b7b08661", + "code/mutrec_b.py": "7b644a4a03423404348633680a6c503d3a2c7060", + "code/nodeopt.py": "dd30a2e4e6e33ba60669d7b421229a2f6e53d6ad", + "code/planio.py": "0d5874976a18cc7db7e58fdc177568d538a59c01", + "code/provenance.py": "da0f0a91e5487b47b020b73680cf541fa085b12e", + "code/summary.py": "772b2e68f8254b1a378156f4b169f7c7adf89189", + "code/xcheck.py": "fbff8607e4c61e18481f696b99dd38a32444e90d", + "data/bitE8mut-r420.json.gz": "0c63ca62759dc63d302be6552aeeee1ede70350f", + "data/complex-b.json": "4f6954384ec790501418291d16bfccc0c28c80a1", + "data/complex/pr535/EXACT-ASSEMBLY-PR493.json": "91873f25e16f5184f4baaaa900622fe62aeb3760", + "data/complex/pr535/EXPECTED.json": "2c5a1a32628e2e93b29a54ecfb9ccfa5d84b9b17", + "data/hosting11-r420.json": "e850b2488914843c69246bd496d687e549738053", + "data/plan-l3.json": "0d6e198897bd2090b96dee443543f00b6a54e065", + "data/selection9-r420.json": "ea2a3ad0d5bcda741f32a2acfbd8e091cd5a05e4", + "discovery/README.md": "e85d1b2a51b35354dadf70f4f77419c84ed399e8", + "discovery/planL3.py": "153df80368df6ff710761de608ad0434d73743cb", + "discovery/planL3b.py": "c70c8e5f4039b2e15985a11a1f004f0a19b9e5fc", + "requirements.txt": "4f2c3cd39e58ddb520c8073c45c42e4b0c49b2a5", + "vendor/pr510/e8-r480-dead-totals/data/bitE8mut-r480.json.gz": "8e59c4b5380d522b1c1cb930029a71556b2fa65f", + "vendor/pr510/e8-r480-nine-stage/EXPECTED.json": "c89fe719e81ae3a4d920bf50f87b7100bbf335ae", + "vendor/pr510/e8-r480-nine-stage/code/adapt.py": "7c595c50bc3910577f8587ca94ce8b9c0e6f55b0", + "vendor/pr510/e8-r480-nine-stage/code/assemble9.py": "238226c568742dd5723b03eabae564a2eaa2bda9", + "vendor/pr510/e8-r480-nine-stage/data/selection9-r480.json": "786ba4d5bedef5888ce02629d6caf9aebb290b73", + "vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/audit_hosted_k.py": "8864ca9b942a3507171edca0cf6cbaaf10fcf434", + "vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/audit_parent_k.py": "ee54ca566ff9d8553f845144dd4570fa1fe21495", + "vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/bank_routes_k.py": "aaab9d5ae3f280dcb82775337d88dc244984e225", + "vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/emit_k.py": "b84c795a045143639efe6aefb0562b3c20a2c9d7", + "vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/global_k.py": "3df12bd632f1fdba825ced57110a1fee82eb2857", + "vendor/pr510/e8-r480-nine-stage/vendor/e8-r715-eleven-stage-whole/code/hosting_k.py": "02fea8320b676e14f8ffa242c3ddfa85fa829e31", + "vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/bank_routes.py": "9e43a876664a26899762f3b8e9a582e684a3650a", + "vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/config.py": "c6824d9c4ea37d58c0d24cb7a3021c4dfcc6f3bb", + "vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/e8core.py": "78983b368715e89fe8524a6dd2c13585d2b5394e", + "vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/engines/base_two_moment.py": "14a90fa0e788217856f070382c9e61bd7c603c61", + "vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/engines/moment.py": "7d697cb45203fe72d97037403d6da41f71f3b7fd", + "vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/engines/outer.py": "43007488ad2c43187c77cc6798beff8b1cd76ad2", + "vendor/pr510/e8-r480-nine-stage/vendor/e8-r740-replica32/code/tile_m.py": "cd5fd9b5399f5e7afe5d2a95bd3504bd543c0d60", + "vendor/pr510/e8-r480-nine-stage/vendor/idle-axis-hosting/hosting_core.py": "68b536daa9e6546c0aa046934bf840aaa3c3fde3", + "verify.sh": "fbad38c694a0ce4fcbf39110dc403c75017ece07" + } +} diff --git a/research/complex-trace-joint-retiming/upstream550/inputs/PR543-EXPECTED.json b/research/complex-trace-joint-retiming/upstream550/inputs/PR543-EXPECTED.json new file mode 100644 index 0000000000..b61d859826 --- /dev/null +++ b/research/complex-trace-joint-retiming/upstream550/inputs/PR543-EXPECTED.json @@ -0,0 +1,239 @@ +{ + "word": { + "file": "data/bitE8mut-r420.json.gz", + "file_sha256": "9721a3819efd68307f66f00d84a952eb28eb7c3ad2ce79653ce295c98a764784", + "content_sha256": "e597e3885c0a8daa262afa5985ee2930443329126aece76d33159d81882bdcc2", + "plan_sha256": "d5c2494b4baae801143049e172db303b3c8e25a002e9d9715a1d79dcb2d74c58", + "R": 420, + "retained_totals": 9, + "gates": { + "D": 120, + "A": 2064, + "B": 837, + "C": 2661 + }, + "local_histogram": { + "1": 1320, + "2": 1440, + "4": 60, + "5": 120, + "8": 9 + }, + "legality": { + "records": 29874, + "common_frame_ADDs": 26916, + "rank_mass": 5112 + }, + "five_stage_columns": 900, + "five_stage_payload_bits": 100, + "nine_stage_columns": 1380, + "nine_stage_payload_bits": 100, + "eleven_stage_columns": 1620, + "eleven_stage_payload_bits": 100 + }, + "interface": { + "hypotheses": { + "H1_no_target_feeds_z": true, + "H2_D_frame0_targets_from_helpers": true, + "H3_A_z_only_scatter_targets_B_split": true, + "H4_C_literal_reverse_at_full": true, + "H5_V_identity": true + }, + "conclusion": { + "U_block_form": true, + "J_identity": true, + "K_equals_D": true, + "C_is_U_inverse": true + }, + "interleaving": { + "z_gates_A": 2064, + "source_writes_A": 0, + "z_gates_B": 597, + "source_writes_B": 597, + "helper_writes_B": 0, + "sources_rewritten_B": 120, + "B_z_write_frame_dims": { + "4": 477, + "6": 120 + }, + "B_z_operand_kinds": { + "source<-helper": 120, + "source<-source": 477 + }, + "B_z_operand_kinds_by_dim": { + "dim4:source<-source": 477, + "dim6:source<-helper": 120 + }, + "B_z_writes_after_a_target_read_of_the_same_register": 597, + "B_target_reads_of_registers_rewritten_earlier_in_B": 120, + "target_reads_of_targets": 0, + "cleanup_gates": 2661 + } + }, + "nine": { + "pipeline": "PR #510 (PR #463 nine-stage template, 32 replicas, PR #442 hosting, PR #493 outer assembly)", + "bit_lower": "413456747036699736067/250000000000000000000000", + "bit_lower_decimal": "0.001653826988146798944268", + "profile": { + "1": 380160, + "2": 426624, + "4": 32640, + "5": 34560, + "6": 15360, + "7": 23040, + "8": 2592, + "42": 3456 + }, + "bit": { + "live": 30720, + "physical": 30729, + "maxchild": 42, + "rank_mass": 1956096, + "hosted_residuals": 120960, + "bank_assignments": 0, + "prefix_bits": 189, + "charged_prefix_bits": 192, + "coefficient_bits": 189, + "two_level_coefficient_bits": 416, + "charged_two_level_coefficient_bits": 512, + "row_coefficient": 18355, + "halving_depth": 2 + }, + "kappa": { + "pr535": { + "kappa": "793733736881443/500000000000000000", + "kappa_decimal": "0.001587467473762886", + "complex_lower": "1589991533606044174031/1000000000000000000000000", + "binding_component": "complex" + }, + "pr531": { + "kappa": "1517760977820331/1000000000000000000", + "kappa_decimal": "0.001517760977820331", + "complex_lower": "304013615566499291631/200000000000000000000000", + "binding_component": "complex" + } + } + }, + "eleven": { + "pipeline": "PR #493 (PR #445 geometry, PR #472 emitter, audit and invoice, PR #442 hosting)", + "bit_lower": "82015816228313440961/50000000000000000000000", + "bit_lower_decimal": "0.00164031632456626881922", + "profile": { + "1": 116160, + "2": 130560, + "4": 9120, + "5": 10560, + "6": 3839, + "7": 7680, + "8": 792, + "14": 1, + "56": 3497 + }, + "bit": { + "live": 9600, + "physical": 9609, + "maxchild": 56, + "rank_mass": 745536, + "hosted_residuals": 36960, + "prefix_bits": 4710, + "charged_prefix_bits": 4736, + "coefficient_bits": 4710, + "three_level_coefficient_bits": 14185, + "charged_three_level_coefficient_bits": 14208, + "row_coefficient": 19431, + "halving_depth": 3 + }, + "emitted_program_sha256": "3de4325e0df33ca85116d05cbcc6810f025d6083e5134d128236769c97699f51", + "kappa": { + "pr535": { + "kappa": "793733736881443/500000000000000000", + "kappa_decimal": "0.001587467473762886", + "complex_lower": "1589991533606044174031/1000000000000000000000000", + "binding_component": "complex" + }, + "pr531": { + "kappa": "1517760977820331/1000000000000000000", + "kappa_decimal": "0.001517760977820331", + "complex_lower": "304013615566499291631/200000000000000000000000", + "binding_component": "complex" + } + } + }, + "controls": { + "pr510_r480_nine": { + "word": "vendor/pr510/e8-r480-dead-totals/data/bitE8mut-r480.json.gz", + "bit_lower": "396861776523137034277/250000000000000000000000", + "bit_lower_decimal": "0.001587447106092548137108", + "kappa": { + "pr535": { + "kappa": "1584931111785787/1000000000000000000", + "kappa_decimal": "0.001584931111785787", + "complex_lower": "1589991533606044174031/1000000000000000000000000", + "binding_component": "bit" + }, + "pr531": { + "kappa": "1517760977820331/1000000000000000000", + "kappa_decimal": "0.001517760977820331", + "complex_lower": "304013615566499291631/200000000000000000000000", + "binding_component": "complex" + }, + "pr484": { + "kappa": "662515748707749/500000000000000000", + "kappa_decimal": "0.001325031497415498", + "complex_lower": "663394767670133/500000000000000000", + "binding_component": "complex" + }, + "pr471": { + "kappa": "260706019542937/200000000000000000", + "kappa_decimal": "0.001303530097714685", + "complex_lower": "1305231506267591/1000000000000000000", + "binding_component": "complex" + }, + "pr458": { + "kappa": "323880830669511/250000000000000000", + "kappa_decimal": "0.001295523322678044", + "complex_lower": "1297203880559577927527/1000000000000000000000000", + "binding_component": "complex" + } + } + }, + "pr493_r489_eleven": { + "word": "../e8-bit-carrier-skeleton/data/bit/bitE8mut-r489.json.gz", + "bit_lower": "391360506745414227149/250000000000000000000000", + "bit_lower_decimal": "0.001565442026981656908596", + "emitted_program_sha256": "e37b52e4861c39154b5891460fb45df8651c92cd68961078f8f06596f057c822", + "kappa": { + "pr535": { + "kappa": "97687203033227/62500000000000000", + "kappa_decimal": "0.001562995248531632", + "complex_lower": "1589991533606044174031/1000000000000000000000000", + "binding_component": "bit" + }, + "pr531": { + "kappa": "1517760977820331/1000000000000000000", + "kappa_decimal": "0.001517760977820331", + "complex_lower": "304013615566499291631/200000000000000000000000", + "binding_component": "complex" + }, + "pr484": { + "kappa": "662515748707749/500000000000000000", + "kappa_decimal": "0.001325031497415498", + "complex_lower": "663394767670133/500000000000000000", + "binding_component": "complex" + }, + "pr471": { + "kappa": "260706019542937/200000000000000000", + "kappa_decimal": "0.001303530097714685", + "complex_lower": "1305231506267591/1000000000000000000", + "binding_component": "complex" + }, + "pr458": { + "kappa": "323880830669511/250000000000000000", + "kappa_decimal": "0.001295523322678044", + "complex_lower": "1297203880559577927527/1000000000000000000000000", + "binding_component": "complex" + } + } + } + } +} diff --git a/research/complex-trace-joint-retiming/upstream550/inputs/PR543-NOTICE.md b/research/complex-trace-joint-retiming/upstream550/inputs/PR543-NOTICE.md new file mode 100644 index 0000000000..cb68783d7d --- /dev/null +++ b/research/complex-trace-joint-retiming/upstream550/inputs/PR543-NOTICE.md @@ -0,0 +1,64 @@ +# Notice + +Apache-2.0 (`LICENSE`, copied from #493's package). Prepared by eumemic with substantial Anthropic Claude +assistance. + +## New in this package + +- `code/gen_l3.py` (the generator), `code/nodeopt.py` (bill-aware realization of the block nodes), `code/planio.py` + (plan loader), `data/plan-l3.json` (the CP-SAT plan, nominated by `discovery/planL3.py` and `discovery/planL3b.py`) + and `data/bitE8mut-r420.json.gz` (the word). +- `code/xcheck.py` (independent exact replay and interleaved-interface audit), `code/mutants.py` (word-level mutation + controls), `code/mutrec_b.py` (record-level phase-B mutants, adapted from #493's `mutate_records_mut.py`). +- `code/adapt11.py` (R-specific copies of #493's eleven-stage audit files; the same six edits #503's `adapt.py` + makes for R = 480). +- `code/provenance.py` (adapted from #493's, itself from #381's), `code/cited.py`, `code/summary.py`, `verify.sh`, + `EXPECTED.json`, `DEPENDS.json`, `requirements.txt`, `data/complex-b.json`, `data/selection9-r420.json` and + `data/hosting11-r420.json` (frozen nominations of #442's hosting programme, rediscovered by `verify.sh`), + `.github/workflows/e8-bit-r420.yml`. + +## Vendored, byte-identical (git blob ids in `SOURCE-pr*.json`, checked by `code/provenance.py`) + +- **PR #510 (DreamingOfClouds, with Claude Opus 5.5 via Claude Code), commit 64edee1** (`vendor/pr510/`): + - `e8-r480-nine-stage/code/assemble9.py` (#463's nine-stage invoice and #493's outer-assembly loop), + `code/adapt.py`, `data/selection9-r480.json` and `EXPECTED.json`; + - the files #510 vendors from PR #463 (DreamingOfClouds; head cdf0c1c): + - `e8-r715-eleven-stage-whole/code/{global_k,emit_k,audit_parent_k,audit_hosted_k,hosting_k,bank_routes_k}.py`, + derived from PR #443 and PR #444 (chafreaky, with OpenAI Codex assistance), PR #442 (DaysSky, with Claude) and + PR #386 (Zhihao Chen, with OpenAI Codex assistance); + - `e8-r740-replica32/code/{config,bank_routes,tile_m,e8core}.py` (PR #443, chafreaky) and `engines/` (PR #315's + moment engines, DreamingOfClouds); + - `idle-axis-hosting/hosting_core.py` (PR #442, DaysSky, with Anthropic Claude assistance); + - `e8-r480-dead-totals/data/bitE8mut-r480.json.gz`: PR #503's R480 word (DreamingOfClouds), as carried by #510's + branch. +- **PR #535 (icekylinx, with GPT-6 Astra assistance), commit 8b758a1** (`data/complex/pr535/`): `EXPECTED.json` and + `evidence/audit/EXACT-ASSEMBLY-PR493.json` (the same blobs as at 25f9b7c). + +## Used from main, unchanged (pinned in `DEPENDS.json`) + +- `research/e8-bit-carrier-skeleton` (PR #493, eumemic): the skeleton modules and D4 partition the generator imports; + #370's checker and its relaxed copy; the official cohort checkers (#266 as generalised by #370; #381's + `columns_k.cpp`); `gram_frames.py`; the record exporter and mutants; #386's nine-stage and #445's eleven-stage + geometry; #472's eleven-stage emitter, audit and assembly as adapted there; #442's hosting programme + (`discovery/host_select.py`); the R489 word; the control receipts. Provenance and licences of those files are in + that package's `NOTICE.md`. +- `research/direct-delivery504-global/EXPECTED.json` (PR #531, icekylinx, with GPT-6 Astra assistance): its complex b + and κ. + +## Cited, not rebuilt + +Complex coarse savings in `data/complex-b.json`, each bound to its PR's receipt by `code/cited.py`: PR #535 (primary; +open), PR #531 (merged), and PR #484, #471 and #458 (controls). No complex construction is rebuilt here. + +## Ideas used + +- PR #493 (eumemic): the D4 quad skeleton with sources as carriers. +- PR #503 (DreamingOfClouds): the nine totals on dead registers, hosted by the last eligible register. +- PR #510 (DreamingOfClouds): the nine-stage pricing of these words. DreamingOfClouds' LP in #493's thread gives 480 + under the hypothesis this word avoids. +- PR #425 (Zhihao Chen / jacklightChen, with OpenAI Codex assistance): the scalar-interface lemma. +- PR #535's `PR510-MUTABLE-SOURCE-CARRYOVER.md` (icekylinx): the role-independent bit-side pullback argument. +- PR #370 (Dylan Crow / utcorvusvolat-dotcom): the bitE8/1 format, its independent checker and the decoder totals. +- PR #472, #445, #443 (chafreaky), PR #442 (DaysSky), PR #463 and #315 (DreamingOfClouds), PR #386 (Zhihao Chen): the + pricing pipelines. +- Jacob Sussman introduced the E8 unit. diff --git a/research/complex-trace-joint-retiming/upstream550/inputs/PR543-README.md b/research/complex-trace-joint-retiming/upstream550/inputs/PR543-README.md new file mode 100644 index 0000000000..6751eba6f6 --- /dev/null +++ b/research/complex-trace-joint-retiming/upstream550/inputs/PR543-README.md @@ -0,0 +1,218 @@ +# E8 bit word with R = 420: keepers read by targets, then rewritten in phase B + +A new E8 bit supplier (h = 8, v = 120, 9 retained totals) with **420 helpers**. The best bit words on the hub so far +have 480 (#503, priced at nine stages by #510) and 489 (#493). Priced by two hub pipelines, unchanged: + +| quantity | value | +|---|---| +| **bit c, nine stages** (#510's chain: #463 template, 32 replicas, #442 hosting; 10^-24 grid) | `413456747036699736067/250000000000000000000000` = **0.001653826988146798944268** | +| bit c, eleven stages (#493's chain: #445 geometry, #472 emitter, audit and invoice, #442 hosting) | `82015816228313440961/50000000000000000000000` = 0.00164031632456626881922 | +| #510's R480 word, nine stages (control, reproduced exactly) | 0.001587447106092548137108 | +| #493's R489 word, eleven stages (control, reproduced exactly) | 0.001565442026981656908596 | + +The nine-stage c is 4.18% above #510's and 4.01% above the largest cited complex b (#535). Through #493's six-level, +47-inequality outer assembly (the one #510 uses; it also reproduces #535's own κ values, see the controls), both +compositions are complex-bound: + +| complex supplier (cited from its receipt, not rebuilt) | complex b | κ | binds | +|---|---|---|---| +| **#535** (icekylinx; open PR) | `1589991533606044174031/10^24` = 0.001589991533606044 | **`793733736881443/500000000000000000` = 0.001587467473762886** | complex | +| #531 (icekylinx; merged, main's headline) | `304013615566499291631/(2·10^23)` = 0.001520068077832496 | `1517760977820331/10^18` = 0.001517760977820331 | complex | + +With #535's complex b, #535's own κ is 0.001584931111785787, bound by #510's bit c. This word lifts the bit side above +#535's b, so κ becomes #535's complex cap: **+0.160% over #535**. With #531's b nothing changes, because that +composition was already complex-bound. Each κ above is the same with the nine-stage and with the eleven-stage c, since +the complex side binds in both. + +## The word + +`data/bitE8mut-r420.json.gz` is rebuilt byte for byte by `code/gen_l3.py` from the frozen plan `data/plan-l3.json` +(`NODEOPT=2000 python -I code/gen_l3.py data/plan-l3.json OUT 0 dead last`, about 2 s). The generator imports #493's +skeleton modules (`e8.py`, `geom.py`, `gen.py`, `wordkit.py`) and D4 partition from `research/e8-bit-carrier-skeleton` +on main. Format: bitE8/1 (#370), with gates allowed to write source registers. + +- **Partition.** As in #493: the 120 root lines split into 10 D4 sub-root systems in 5 orthogonally complementary + pairs, giving 30 orthogonal 4-frames, 180 cells (a cell is a pair of lines in one 4-frame), 60 D4 quads and 180 D6 + frames (one per cell, its orthogonal complement). +- **Three registers per cell.** Each source has one home cell in its 4-frame, and two carriers copy it into its other + two cells. Every cell holds exactly three registers: its two line branches and one empty register. That is + 120 sources + 240 carriers + 180 empty registers = 540 = 3 × 180, so R = 420. +- **Phase A.** Each cell delivers two sums to its two quads and keeps one line (its keeper). Each quad applies a + butterfly to its six cell sums. Each D6 node forms o1 = o1 + o2 (o2 is left dead). A D6 that does not host a + Q-delivery takes a free keeper k of the complementary block as its third register (k = k + o1). The 9 decoder + totals of #370 are formed at the full frame on dead registers, hosted by the last eligible register (#503's rule). +- **Phase B, d-single reads (120 gates).** Each target t picks a partner x(t) in its 4-frame Φ and reads, at the cell + C_t = Φ − {t, x(t)}, the keeper of C_t. That keeper is the source register of one line of C_t, and it supplies + t's single d-line. +- **Phase B, block nodes (477 gates).** The 12 keepers that targets read at the dual cells of a block are exactly + the 12 sources of that block. After the reads they climb to the block's D4 frame. One invertible F2 transform per + block turns them into the 12 Q-deliveries for the targets of the complementary block. +- **Phase B, needers (120 gates).** Each Q-delivery register climbs to its target's host D6 and adds that D6's o1 + register, which makes it the target's needer for that D6. +- **Phase B, tops (120 gates).** Each target climbs from its cell straight to t⊥ and reads its three needers there, + one per D6 of its triple {t, e}⊥. +- **Cleanup.** C is the literal reverse, at the full frame, of all 2,661 gates with a source or helper destination + (2,064 in phase A and 597 in phase B). D is #370's frame-zero dirt compensation (120 gates). + +Frame paths: a source goes line → cell → block D4 → host D6 → t⊥ → full; a target goes 0 → cell → t⊥. The local +paid histogram is {1: 1320, 2: 1440, 4: 60, 5: 120, 8: 9}, with rank mass 5,112. + +**Why this is below #493's family bound of 480.** #493's README argued R ≥ 480 for its family with phase-A totals: +the targets' d-line parities need 4 single-line registers per 4-frame, each block's Q-node needs all 4 lines of each +4-frame, and no register can serve both roles. DreamingOfClouds' LP in #493's thread reaches 480 under three stated +hypotheses: three branches per source, two transverse quads per cell, and matching-cell sources feeding the block +frame. This word keeps the first two and drops the third. The block node runs in phase B, after the targets' d-single +reads, so the same source register first gives a target its d-line at its cell and then feeds the block node. R = 420 +equals #493's other family bound: at least three registers per cell with three branches per source on this +partition. + +## Review point: source registers rewritten in phase B, after targets read them + +In #493 every source write is in phase A, and #493's `interface.py` checks, among the hypotheses of #425's lemma, +that phase B writes only targets. This word has 597 phase-B gates that write source registers: + +- 477 block-node gates (source ← source, at block D4 frames); +- 120 needer gates (source ← helper, at D6 frames), so helper contents enter source registers until the cleanup. + +Each of these 597 gates writes a register that a target has already read in phase B, and 120 target reads at t⊥ +read registers rewritten earlier in phase B. No target ever feeds a source or helper. + +**Lemma (scalar interface with interleaved z-gates).** Write z = (x, s) for the sources and the arbitrary helper +contents, and y for the targets. Suppose: + +- (H1) no gate whose destination is a z register reads a target; +- (H2) every gate of D is at frame 0, writes a target and reads only helpers, and D runs first; +- (H3) A writes only z registers; the scatter adds retained helper registers to targets; B is any interleaving of + z-gates (z destination, z sources) and target gates (target destination, any sources); +- (H4) C is the list of z-destination gates of A and B in reverse order, each at the full frame, and every z register + ends at the full frame; +- (H5) the target-to-target part V of the raw word W0 = (A, scatter, B) is the identity. + +Then W0 acts as (z, y) ↦ (U z, y + J x + K s); C acts as (z, y) ↦ (U⁻¹ z, y); and with D acting as y ↦ y + N s +the whole word acts as (x, s, y) ↦ (x, s, y + J x + (K + N) s) over F2. It equals (x, s, y + x) exactly when +J = I and N = K. D is legal at frame 0 and C is legal at the full frame. + +*Proof.* By induction over the gates of W0, the state has the form z_k = U_k z_0 and y_k = V_k y_0 + M_k z_0. A +z-gate reads only z registers (H1, H3), so it multiplies U_k on the left by an elementary transvection and leaves y +alone. A target gate replaces y_k by P y_k + Q z_k for a transvection P on y and a matrix Q, which gives +V_{k+1} = P V_k and M_{k+1} = P M_k + Q U_k. The scatter is a sequence of such target gates. The form is preserved +whatever the order of z-gates and target gates, so W0 = (U, V, M) with U the product of the z-gates' transvections in +order and M = [J K]. By (H4), C applies the same transvections in reverse order. Over F2 each is an involution (the +destination is never among its own sources), so C = U⁻¹, and C touches no target. D adds N s to y and reads only +helpers. Composing, with V = I by (H5), gives the stated map. For the frames: D runs before any climb, and targets and +helpers start at frame 0, so every register D touches stands at frame 0. After B every z register can climb to the +full frame, because every frame lies inside the full frame. C uses only z registers there, and their final frames are +full, so no descent is needed. Targets reach t⊥ in B and C does not touch them. ∎ + +**Relation to #425.** #425's lemma (Zhihao Chen, `PROOF.txt` section 3) has one structural hypothesis, "No target may +feed a z register", and states the block form for "the raw A/center/B word" as a whole. Its cleanup executes U⁻¹ "by +reversing and inverting the non-target gates", wherever they occur. Nothing in it requires the z-gates to precede the +target reads, and its lift to exact labels is an induction "through the actual stream", which does not depend on the +order. The interleaving here is therefore covered by #425's statement as written. #493's check (4) is a property of +the R489 word, not a hypothesis of #425's lemma. This package restates the lemma with the interleaving explicit and +checks each hypothesis on the word; reviewers should confirm this reading of #425. On the bit side, the realization +is the role-independent common-label pullback of #472's PROOF.md ("Shared physical labels"), written out in #535's +`PR510-MUTABLE-SOURCE-CARRYOVER.md`: an XOR between two registers at the same label commutes with that label, +whatever the registers are called and whether or not a source still holds its input, and nested climbs compose. That +argument is also order-independent. The mutable-basis realization remains a listed conditional interface, as in +#472, #493 and #510. + +What the package checks about it: + +- `code/xcheck.py` (independent; reads only the word) checks the labels (an even unimodular lattice of rank 8, every + frame closed), frame legality, and the exact F2 map on all 660 columns with the helper contents as symbolic inputs. + It then evaluates (H1)-(H5) one by one and decomposes the conclusion on W0: z' = U z, J = I, K equals D's helper + sets, and C applied to the W0 outputs restores every source and helper. +- `code/mutants.py`: nine negative controls are rejected, each for the intended reason: + 1. a target feeds a source (F2-neutral pair; rejected by (H1)); + 2. a target feeds a helper (F2-neutral pair; rejected by (H1)); + 3. a dropped cleanup gate; + 4. a corrupted phase-B source write, with the cleanup changed the same way so every source is still restored; + 5. a phase-B source write moved down to the source's own line frame; + 6. a single target-to-target read (V ≠ I); + 7. a corrupted frame-0 preconditioner; + 8. a phase-B source write moved before the target read of that register (frame nesting forbids it); + 9. a cleanup gate moved off the full frame. + + One positive control, a cancelled pair of target-to-target reads (V = I), is accepted. +- #370's stock checker refuses the word ("x register written"). #493's relaxed copy passes it; it replays all 660 + columns exactly. #493's `interface.py` refuses it at its check (4), as expected. +- The official cohort checkers treat every register alike and accept the word. Three record-level mutants aimed at + the phase-B source writes are rejected by the five-, nine- and eleven-stage column checkers, with legality + unchanged: a dropped cleanup ADD, a corrupted phase-B source write with the cleanup adjusted, and an unrestored + source. +- The same `xcheck.py` accepts #493's R489 and #503's R480 words, where B writes only targets (the lemma's special + case). + +## Checks (`verify.sh`) + +```sh +python -m pip install -r research/e8-bit-r420/requirements.txt +bash research/e8-bit-r420/verify.sh /absolute/new/output +``` + +Python 3.11+ with numpy, sympy and scipy, a C++17 compiler (`CXX`) and Boost headers (`BOOST_INCLUDE`). About 2 +minutes on 4 cores (the two controls run in the background). + +0. Manifest. Then provenance: 19 files vendored from #510 and 2 receipts from #535, each checked by git blob id. + Main's files are pinned by sha256: #493's package through its own `MANIFEST.sha256`, and #531's receipt. Every + cited b is checked against its PR's receipt. +1. The word rebuilt from the frozen plan equals the shipped word. +2. `xcheck.py`, the 9 + 1 mutation controls, and `xcheck.py` on the R489 and R480 words. +3. #370's stock checker refuses; #493's relaxed checker passes (legality, exact F2 on 660 columns, 671 frames with + positive Gram determinants, primes {2}); #493's `interface.py` refuses at check (4). +4. Official checkers: + - legality at NCOPY = 9 (29,874 records, 26,916 common-frame ADDs, rank mass 5,112); + - five-stage formal columns (900 columns, prefix payload 100 bits < 104); + - nine-stage formal columns (#381's `columns_k`, KPAIRS = 4): 1,380 columns, 18/18 omitted-bridge controls; + - eleven-stage formal columns (KPAIRS = 5): 1,620 columns, 24/24 omitted-bridge controls; + - the KPAIRS = 2 regression; #370's 6 record-level mutants; the 3 phase-B record-level mutants; + - exact Gram determinants and prime witnesses on all 672 frames. +5. Nine-stage price (#510's chain, unchanged): #463's template (4,740 unbanked scalar columns restored, 18 omitted + bridge shears rejected) and parent audit (17 template mutations rejected). #442's hosting programme rediscovers + the frozen selection `data/selection9-r420.json`, and all 120,960 helper residuals are hosted whole with 0 banks. + The hosted audit replays 8,603,712 renamed instructions and rejects 16 mutations. Then #510's nine-stage invoice: + prefix 189 bits (charged 192), two-level coefficient 416 bits (charged 512), maximum child 42 with + 2 · 42² < 64², row coefficient 18,355. Both moment engines and the outer assembly per supplier follow. +6. Eleven-stage price (#493's chain). `code/adapt11.py` makes the six edits #503 makes for R480 to #493's audit files, + here for R = 420. #442's programme rediscovers `data/hosting11-r420.json`, and all 36,960 residuals are hosted + whole with no banks. The independent audit replays 2,628,912 instructions and rejects 22 template mutations. The + invoice: physical prefix 4,710 bits (charged 4,736), three-level coefficient 14,185 bits (charged 14,208), maximum + child 56, row coefficient 19,431 < 20,161. +7. Controls, through the same files: + - #510's R480 word at nine stages reproduces #510's c and κ values, and with #535's b it gives #535's κ + 0.001584931111785787 (bit-bound); + - #493's R489 word at eleven stages, through #493's files unmodified, reproduces #493's c, κ values and emitted + program hash. With #531's b it gives #531's κ 0.001517760977820331 (complex-bound). With #535's b it gives the + κ of #535's own #493 control, 0.001562995248531632 (bit-bound). +8. Every number above against `EXPECTED.json` and the cited receipts. + +The eleven-stage invoice is larger than #493's (2,176 and 6,464 charged bits) and than the hub's earlier precedent +(#473: 3,456 and 10,304). These bits enter only the finite cutoffs of the outer assembly, whose 47 strict inequalities +pass. The headline uses the nine-stage price, whose invoice (189 and 416 bits) is close to #510's (193 and 425 bits). + +## Retained assumptions + +- Every interface that #472's and #510's compositions retain: the all-size bit/Gaussian compiler; the mutable-basis + and target-label realization (the review point above); whole-call correlated-helper hosting (#442); compressed + windows and restored work; the common grid and tape, precision, row and analytic contracts. +- Complex savings are cited from their PRs' receipts, not rebuilt. #535 is an open PR, so the primary κ is + conditional on its review as well. +- The plan is a CP-SAT nomination (`discovery/`). The hosting selections are nominations of #442's integer + programme. None of them is claimed optimal. +- This is a conditional finite construction, not a Lean proof. + +## Files + +- `code/gen_l3.py`, `code/nodeopt.py`, `code/planio.py`: the generator that built the word, with package import + paths. `nodeopt.py` realizes each block node by randomized LU and keeps the realization with the smallest + cancellation-free norm under the literal cleanup (2,000 tries per block). +- `code/xcheck.py`, `code/mutants.py`, `code/mutrec_b.py`: the independent replay and interface audit, the word-level + mutation controls, and the record-level phase-B mutants. +- `code/adapt11.py`: R-specific copies of #493's eleven-stage audit files. +- `code/provenance.py`, `code/cited.py`, `code/summary.py`: pins, receipts and the final comparison. +- `data/`: the word, plan, frozen hosting selections, cited b (`complex-b.json`) and #535's receipts. +- `vendor/pr510/`: #510's nine-stage chain as run by its `verify.py`, including the files it vendors from #463, #443, + #442 and #315, and #503's R480 word as carried by #510's branch (`SOURCE-pr510.json`). +- `discovery/` (not run by `verify.sh`): the CP-SAT plan model and its iteration (needs ortools). +- `DEPENDS.json`: the files of main this package uses, pinned. diff --git a/research/complex-trace-joint-retiming/upstream550/inputs/PR547-README.md b/research/complex-trace-joint-retiming/upstream550/inputs/PR547-README.md new file mode 100644 index 0000000000..db9d990771 --- /dev/null +++ b/research/complex-trace-joint-retiming/upstream550/inputs/PR547-README.md @@ -0,0 +1,33 @@ +# R420 bit supplier with the PR548 complex supplier + +**Conditional kappa = 0.001590984155135328**, **0.0171593% above the previous PR547 result**. This composes the unchanged R420 bit supplier of PR543 with PR548's static44 complex word, 477 frame lifts, cold-dirt source substitution and whole-owner allocation. The complex supplier binds. + +- PR543 bit c = 0.001653826988146798944268 at `2065fe4f72a914d907f1046603f5a36f17018535`. +- PR548 complex b = 0.001593519419282306763502 at `66dbc2bffc1bfa8d50b3f9a2ac7ccba8fd9f6f36`. +- Previous PR547 used PR544 complex b and reached kappa=0.001590711200057236. Its exact result, verifier and narrative are retained under history/; its input and evidence files are retained as historical dependencies. + +## Contribution + +This is an exact two-supplier composition. Neither source word nor owner map is altered. We reprice the actual global profiles and recompute the supplier minimum, all six finite bootstrap levels and the full outer assembly. Separate percentage gains are never added. PR548's bit word is not used; the independently verified PR543 R420 word remains the bit input. + +## Verification + +```sh +python -B research/r420-static44-composition/verify.py /absolute/new/receipt.json +``` + +Python standard library only. The output must not exist and must be outside the package. The manifest pins every input, engine and notice. Two rational engines check both savings, including rejection of the next 10^-24 grid point. Rank deficits, halving bounds, six explicit finite cutoffs, 47 strict outer inequalities and four invalid-parameter/grid controls pass. The retained bit two-level coefficient charge is 512 and row allowance 20161. + +This one-command verifier is arithmetic-only; physical operators are separately pinned dependencies. Independent Python 3.14 replays have completed for PR543's native/interface/mutation checks, both stage counts, complete hosting/invoices and baseline regressions; and now for PR548's complex construction, frames, changed local phase edges, residual wrappers, complete owner/controller checks and finite invoice. The PR548 component replay checks its final canonical word, complete global template and profile against its published exact expected hashes. It does not redundantly rebuild PR548's unused bit supplier. Unchanged local phase/data certificates remain hash-bound reused dependencies. Source acquisition validates all 243 package Git blobs. + +The previous PR544 complete cold replay also remains in evidence as historical support, not as a substitute for the changed PR548 component. GitHub CI is separate and is not claimed passed. + +## Failures and scope + +All earlier failures and repairs remain in evidence/: missing SciPy, our relative SSD symlink adaptation and its absolute-target repair, and a publication-metadata schema lookup that correctly triggered manifest rejection until repaired. No mathematical checker was relaxed. Source-specific all-size assumptions remain. + +PR543 rewrites sources in phase B after targets have read them. Its scalar argument requires H1-H5: no target feeds background registers, frame-zero compensation has the stated form, phase A is background-only, cleanup reverses every background gate, and the target-to-target block is identity. Its arbitrary-dirt identity and mutation checks pass; these finite checks do not independently prove an all-size interleaved-source compiler. + +All inherited compiler, common-label/mutable-source realization, whole-call hosting, precision/tape and analytic-transfer obligations remain conditional. No unconditional multiplication theorem, full Lean proof or measured speedup is claimed. + +Credits: eumemic PR543 (Claude assistance), Dugongue PR548 and PR541 (OpenAI assistance), chafreaky PR544, rohanarun/Claude PR534 frame lifts, icekylinx PR535/531 and phase/compiler ancestry, DreamingOfClouds PR484 and the original authors retained in inputs/ and engines/. Our exact composition and independent replay were prepared for Rohan Arun with OpenAI Codex assistance. diff --git a/research/complex-trace-joint-retiming/upstream550/local/LICENSE b/research/complex-trace-joint-retiming/upstream550/local/LICENSE new file mode 100644 index 0000000000..261eeb9e9f --- /dev/null +++ b/research/complex-trace-joint-retiming/upstream550/local/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/research/complex-trace-joint-retiming/upstream550/local/MANIFEST.json b/research/complex-trace-joint-retiming/upstream550/local/MANIFEST.json new file mode 100644 index 0000000000..a4763d45f1 --- /dev/null +++ b/research/complex-trace-joint-retiming/upstream550/local/MANIFEST.json @@ -0,0 +1,22 @@ +{ + "LICENSE": "c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4", + "NOTICE-upstream.md": "1547136e6d269fdcef2b68c10a97a786a79a4732a12738363f679bfb282430cd", + "NOTICE.md": "12d8a70cd8347b62e197ef7724fe69674fe940b610e1d7f36daf913845c94f32", + "PROOF.md": "d2d42323e8f97437d08bb0dd1276032b324a9d6136793882dc57de04aba2de04", + "audit_scalar.py": "a1cd720d281c7a9db7f17919c637cdcb8558e9f3c96e929706f0c21f317a7943", + "construct.py": "d0c92f617d8ec3668de8d64a7410369e101fc416ef66afdc6ecb6e035e68bcdb", + "evidence/CONSTRUCTION.json": "13d81ee8529fa8bb22db3a61e06efa19fa3c236b916976553931d8dc71187eb9", + "evidence/INDEPENDENT-LOCAL-REPLAY.json": "24edcc9a509bf118f0b9bf003fad3682f27906f75b7c0ab323a785310e0dd067", + "evidence/PRICE.json": "1ab626ff7960a8fceb8acbba9239da2d921e918989ba47e41ba83a0fc911160c", + "evidence/SCALAR-AUDIT.json": "d64f613be947234bb5962f3142839211ba43d7f571ee03d88e406f3e339abb5b", + "evidence/SEARCH.json": "7cd09c28410f4419bd4adb8e82c93f195f6d7e5e47b4fecde0093493044c65ce", + "inputs/PR548-EXPECTED.json": "2e458dd9880d001b63153e37ef7954c6bcfceae378ab4b225cfa1c94ea8e23ce", + "inputs/PR548-FULL-WORD.json.gz": "4fcc8aeb5206c4fd68c741ff417449af96156ab62aab9b8620e523d393587ca3", + "inputs/STATIC44-SELECTION.json": "16ecc4a5c08af6750ee8610b722f74eba82a9eeb9703f0f0e0ace08ce5c82ad3", + "price.py": "4e31c8eb9a7b13a2faac735cb5fd9ae883c2baa4f14c35bc4a610a011e38e30d", + "vendor/base_two_moment.py": "aee70c242a2f1d225528fabe2002e1564d1dc884797c07d28a831c7878ee9098", + "vendor/gk/gk_common.py": "e68d190fd436b2f3955decb590adb53344d5d4ea0a19d62d86df1e4b55ecd198", + "vendor/gk/gk_word.py": "f027a9273bcf4e0971258c160b7d3b3c196366b32a529cff6e6a0e666b03826b", + "vendor/moment.py": "81cbc864e106418fc7854322746f72180cb8110ff39f74450a3b8d55a82c1482", + "verify.py": "2806e21e391c38ceaa55a7d721ad8dbd7925c42b54929eda4f2c25a7a77739d9" +} diff --git a/research/complex-trace-joint-retiming/upstream550/local/NOTICE-upstream.md b/research/complex-trace-joint-retiming/upstream550/local/NOTICE-upstream.md new file mode 100644 index 0000000000..f42e0eed85 --- /dev/null +++ b/research/complex-trace-joint-retiming/upstream550/local/NOTICE-upstream.md @@ -0,0 +1,70 @@ +# Attribution and dependency notice + +Package: **`integer_mult_round21_rank4_delta`**. + +Copyright 2026 icekylinx. Local review and packaging used OpenAI Codex. + +## New work + +Prepared by **icekylinx with GPT-6 Astra assistance**. The new contribution is +the post-center timing and ordered composition of dirty gauges with rank-four +response kernels, including the 14 disjoint M-helper groups, explicit scalar +word, frame and cleanup treatment, independent local argument, physical global +integration, paid accounting, and combined conditional κ assembly. + +The same helper can first serve its own gauge and then donate to a larger +kernel because compensation occurs before the new pivot dirt is injected. +This ordering, its actual frame nesting, and its global use are the substantive +delta. Earlier gauge/kernel primitives and the SAME504 scalar construction +retain their original authorship. + +## Baseline + +[PR531](https://github.com/CrocSwap/integer-mult-bounds/pull/531), by icekylinx +with the disclosed GPT-6 Astra assistance, supplies the SAME504 construction +and the baseline package `research/direct-delivery504-global`. The final +baseline head is `e07a8a3f9f79c22113398a0c5dbbc7601f489b3e`; the scientific +files used here match the original Round20 pins. + +**The original PR531 NOTICE is retained separately and remains applicable.** +That notice records the scalar, geometry, controller, phase, wrapper, hosting, +and analytic ancestry. This short incremental notice does not replace it. + +In particular, DreamingOfClouds's PR484 response/kernel implementation and its +predecessors retain their source notices. Zhihao Chen's PR425 mutable-basis +lemma, the PR425/433/514 scalar lineage, and the previously credited source +and delivery contributions remain attributed through PR531's notice. + +## Adopted bit supplier + +[PR510](https://github.com/CrocSwap/integer-mult-bounds/pull/510), pinned to +`64edee18af02aab0c1696b677a0287dd0146381b`, is by **DreamingOfClouds with +Claude Opus 5.5 assistance via Claude Code**, as disclosed by that package. +Its R480 nine-stage bit endpoint is adopted as a cited conditional dependency. +It is not a new bit-side research result of this delta, and no cold replay +of that full bit pipeline was performed here. + +**The original PR510 NOTICE is retained separately and remains applicable.** +Its ancestry includes eumemic's PR493 carrier-skeleton word; PR503's R480 +dead-total change; chafreaky's PR443/444 replication pipeline; DaysSky's PR442 +whole-residual hosting and PR381 column checker; Zhihao Chen's PR386 geometry; +DreamingOfClouds's PR315 moment engines and pipeline adaptations; and Dylan +Crow's PR370 framework, with the assistance disclosures in those sources. + +The present PR510 mutable-source carryover exposition is by icekylinx with +GPT-6 Astra assistance. It expands the role-independent common-label argument +already present in PR472 and the mutable-basis lemma of PR425; it does not +claim those underlying ideas as new. + +## Comparison, evidence, and licenses + +PR493 is also retained as the former-bit-supplier control. PR533 is used only +for numerical comparison. A cited rate, reused certificate, or prior notice +does not imply a fresh replay in this package; the README states the completed +validation scope. + +Original source headers, notices, licenses, and pinned provenance remain in +force. This incremental notice does not relicense upstream material. New +Python research/audit files carry the Apache-2.0 notice stated in their source +headers. All reported bounds remain conditional on the listed inherited +interfaces. diff --git a/research/complex-trace-joint-retiming/upstream550/local/NOTICE.md b/research/complex-trace-joint-retiming/upstream550/local/NOTICE.md new file mode 100644 index 0000000000..1adbe6267c --- /dev/null +++ b/research/complex-trace-joint-retiming/upstream550/local/NOTICE.md @@ -0,0 +1,29 @@ +# Attribution and scope + +The new work is the exact commuting Steinberg expansion on the PR548 complex +word, its rank-five frame assignment, the deterministic constructor, bounded +search and fresh local replay. Prepared with OpenAI Codex assistance. + +The source word is reconstructed from Dugongue PR548, pinned at +`66dbc2bffc1bfa8d50b3f9a2ac7ccba8fd9f6f36`, using its static44 constructor, +477 PR534 frame lifts and cold-dirt substitution. Its uncompressed content +SHA256 is `7f7bf2315c83eb5dc0bb3502ceae575bfcffa00ad37fd32839114744ac18182c`. +The numerical baseline is the complete complex profile in that PR's +`research/pruned-trace-response/EXPECTED.json`. + +Credit remains with Dugongue for the PR541 static44 response presentation and +PR548 composition; icekylinx for the PR535 post-center rank-four construction +and PR531 direct-delivery supplier; rohanarun for PR534's supplied frame +assignment; and the attributed PR484/PR433 lineage for the gauge/kernel and +normalized-wrapper primitives. The original notices and Apache-2.0 license +are retained unchanged in `NOTICE-upstream.md` and `LICENSE`. The two rational +moment engines retain their source text from the attributed PR361 lineage. + +The local verifier checks an actual scalar word on every arbitrary input +column in both orientations, regenerates cleanup, and reprices the complete +profile. This small package does not independently certify the global owner +template, Clifford phases, complete finite invoice or outer assembly. Those +checks must accompany any conditional exponent claim. The all-size compiler, +common-label/mutable-basis, restored-work, precision/tape and analytic-transfer +contracts remain inherited obligations. No unconditional theorem or Lean +certificate is claimed. diff --git a/research/complex-trace-joint-retiming/upstream550/local/PROOF.md b/research/complex-trace-joint-retiming/upstream550/local/PROOF.md new file mode 100644 index 0000000000..b58a9a095d --- /dev/null +++ b/research/complex-trace-joint-retiming/upstream550/local/PROOF.md @@ -0,0 +1,33 @@ +# Commuting expansion at a lower frame + +In PR548's B word, event 936 is `z283 += z299` and event 1048 is +`z616 += z283`. Both use the rank-six frame +`[290,162,98,24,6,1]`. The latter event commutes with every one of the 111 +intervening scalar events. This is checked from actual targets and sources; +shared-register scale cases are conservatively forbidden. + +For arbitrary values of the three registers, execution of +`j += k; i += j` equals `i += j; i += k; j += k`. +The constructor checks the full rational 3-by-3 operator, performs only the +certified commuting exchanges, and executes all three replacement gates at +the rank-five frame `[290,162,98,24,6]`. Every register chain is checked by the +inherited literal frame simulator. A, the center cut, target levels, entrances, +residual widths and source/target ports remain unchanged. Cleanup is rebuilt +as the literal reverse inverse of the new background gates. + +The exact local paid-profile change is `e1 - e2 - e3 + e4`. Rank mass and +child count remain unchanged. Across 72 complete calls, the changed profile +is charged with the original actual idle remainder and the complete fallback +charge. Two independent rational engines give +`b = 0.001593581126479114854212` and reject the next 10^-24 grid point. +This is a pricing result until fresh global owner and invoice admission. + +The independent scalar auditor reconstructs the complete arbitrary-dirt +compensation, checks all 728 formal input columns in both orientations and +rejects all 44 omitted-pivot controls. A separately run emitted native audit +checks both reflected paid ledgers and rejects 11 structural/wrapper controls; +its receipt is preserved under `evidence/`. Global admission remains separate. + +Run `python -B verify.py --work /absolute/new/output` for the dependency-closed +local reconstruction, arbitrary-dirt replay and exact pricing. No optimizer +or network is used by that command. diff --git a/research/complex-trace-joint-retiming/upstream550/local/audit_scalar.py b/research/complex-trace-joint-retiming/upstream550/local/audit_scalar.py new file mode 100644 index 0000000000..834e8b5103 --- /dev/null +++ b/research/complex-trace-joint-retiming/upstream550/local/audit_scalar.py @@ -0,0 +1,55 @@ +"""Independent exact scalar witness for a selected complex kernel word. +Uses immutable correct-word compensation for omission controls; no repaired +compensation is silently supplied to a mutant. No physical-hosting claim. +""" +import sys,json,gzip,hashlib,copy +from pathlib import Path +from fractions import Fraction as Q +from collections import Counter +p=Path(__file__).resolve().parent +path=Path(sys.argv[1]);selection=Path(sys.argv[2]);out=Path(sys.argv[3]);w=json.loads(gzip.decompress(path.read_bytes()));sel=json.loads(selection.read_text());v=len(w['ports']);n=2*v+w['report']['R'] +def ident():return[{r:Q(1)}for r in range(n)] +def apply(e,rows): + if e[0]=='scale': + _,t,a,b,*_=e;q=Q(a,b);rows[t]={j:q*x for j,x in rows[t].items()};return + _,t,s,a,b,*_=e;q=Q(a,b) + for j,x in list(rows[s].items()): + z=rows[t].get(j,Q(0))+q*x + if z:rows[t][j]=z + else:rows[t].pop(j,None) +def inv(e,dual=False): + e=copy.deepcopy(e) + if e[0]=='add': + e[3]*=-1 + if dual:e[1],e[2]=e[2],e[1] + else:e[2],e[3]=e[3],e[2] + return e +def replay(es): + rows=ident() + for e in es:apply(e,rows) + return rows +main=w['A']+w['cut']+w['B'];mx=replay(main);dirty=[{}for _ in range(n)] +for r in range(v,2*v):dirty[r]={j:x for j,x in mx[r].items()if j>=2*v} +for e in w['precondition']:apply(e,dirty) +comp=[] +for r in range(v,2*v): + for j,x in sorted(dirty[r].items()): + assert not w.get('start_extra',{}).get(str(j)),('nonzero-frame compensation',j) + comp.append(['add',r,j,-x.numerator,x.denominator,[]]) +cleanup=[inv(e)for e in reversed(w['A']+w['B'])if not v<=e[1]<2*v] +assert[e[:-1]for e in cleanup]==[e[:-1]for e in w['cleanup']] +program=w['precondition']+comp+main+cleanup;expected=ident() +for t in range(v):expected[v+t][t]=Q(1) +assert replay(program)==expected +back=ident() +for t in range(v):back[t][v+t]=Q(-1) +assert replay([inv(e,True)for e in program])==back +controls={} +for cl in sel['kernel']: + for h in cl['pivots']: + aa=[e for e in w['A']if not(e[0]=='add'and e[2]==2*v+h and e[1]>=2*v and e[-1]==cl['E'])] + assert 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

a$ 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