diff --git a/research/p104-query-only-interval/DEPENDENCIES.json b/research/p104-query-only-interval/DEPENDENCIES.json new file mode 100644 index 0000000000..caa19c9071 --- /dev/null +++ b/research/p104-query-only-interval/DEPENDENCIES.json @@ -0,0 +1,95 @@ +{ + "schema_version": 1, + "files": [ + { + "local_path": "data/caller_efree.json", + "repository": "DreamingOfClouds/integer-mult-bounds", + "commit": "a98df73ddae1d1ea85a62b6bdf2714b28cb7b359", + "original_path": "research/p104-two-chain-findings/data/caller_efree.json", + "git_blob": "5a71ca9f80ced1aeb8a68e97516cab52eb72a52a", + "bytes": 71267, + "sha256": "c5b6c5236462ae84e5431a791a2f8ce795774342f13e11c4af35689092a8af30", + "usage": "runtime" + }, + { + "local_path": "data/root_A_efree.json", + "repository": "DreamingOfClouds/integer-mult-bounds", + "commit": "a98df73ddae1d1ea85a62b6bdf2714b28cb7b359", + "original_path": "research/p104-two-chain-findings/data/root_A_efree.json", + "git_blob": "4a7fbe2fe247090bb1d7d5256f2478856d1c39ad", + "bytes": 16925, + "sha256": "64486cd1c5a879ffc0312195a39ce4a2ef288f81afb47232c244b9b6f46683d0", + "usage": "runtime" + }, + { + "local_path": "data/word_6936.json.gz", + "repository": "DreamingOfClouds/integer-mult-bounds", + "commit": "03626137d0bd57f09b0bf9597376183ce6fa9683", + "original_path": "research/p104-main-wire-native/data/word.json.gz", + "git_blob": "d93e67ca7628bf5531ae6e369da4dd7b7907b88f", + "bytes": 349022, + "sha256": "273e81f176f001684b1fa3eb857992bf58b54748004fcfe806b83adb48d2cc00", + "usage": "runtime" + }, + { + "local_path": "reference/jclib_6936.py", + "repository": "DreamingOfClouds/integer-mult-bounds", + "commit": "03626137d0bd57f09b0bf9597376183ce6fa9683", + "original_path": "research/p104-main-wire-native/jclib.py", + "git_blob": "48a55ab03a731315dd27d1dd7dd52be716de0ce8", + "bytes": 14872, + "sha256": "bdbd89da0125a41514ea10330bccd25de5dd626ac8b2d671c88dc2e4b8fb93c4", + "usage": "reference-only" + }, + { + "local_path": "vendor/operator_ring.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "4e2fd1b6abed49c202a057fd5c73ead0a460f976", + "original_path": "research/p104-qself-owned-lowering/operator_ring.py", + "bytes": 6344, + "sha256": "732779a92078e97bcd18e5c7def5df755ddee1875d901a7326b3ecb17962750c", + "git_blob": "20acae64a1033f9add3b6b9abc65daf812baa638", + "usage": "runtime" + }, + { + "local_path": "vendor/dual_certificate.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "4e2fd1b6abed49c202a057fd5c73ead0a460f976", + "original_path": "research/p104-qself-owned-lowering/dual_certificate.py", + "bytes": 4751, + "sha256": "aba731b7a799dd792d8c91cc3f5d3c012dd5d0d10c1e01e721a23752d0f58331", + "git_blob": "5be2a459308a56fa0a941aab71300fade3781f76", + "usage": "runtime" + }, + { + "local_path": "vendor/invoice.py", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "4e2fd1b6abed49c202a057fd5c73ead0a460f976", + "original_path": "research/p104-qself-owned-lowering/invoice.py", + "bytes": 11454, + "sha256": "bb61a684d284942157e8b3ca48c40c4c98809298eee0d763d509bbbde8bec208", + "git_blob": "a576bd0e0054dccae91d7cf3ff7e65090a6257e0", + "usage": "runtime" + }, + { + "local_path": "reference/OWNED-PROOF.md", + "repository": "CubeJerry/integer-mult-bounds", + "commit": "4e2fd1b6abed49c202a057fd5c73ead0a460f976", + "original_path": "research/p104-qself-owned-lowering/PROOF.md", + "bytes": 23131, + "sha256": "416711012b7c133dd15c7b478e50b7e11b61d05cfee89c8de1837720826635c3", + "git_blob": "a351238484324512fd4e8147111f122765c71603", + "usage": "reference-only" + }, + { + "local_path": "reference/README_6937.md", + "repository": "DreamingOfClouds/integer-mult-bounds", + "commit": "a98df73ddae1d1ea85a62b6bdf2714b28cb7b359", + "original_path": "research/p104-two-chain-findings/README.md", + "bytes": 10170, + "sha256": "5087644ba649dd9fd3fcc85c5d9cfb4be323aca7b04f88f363d8fd3d439d5296", + "git_blob": "fddaa597038d981e02b2987b665ca34acaf64f92", + "usage": "reference-only" + } + ] +} diff --git a/research/p104-query-only-interval/ENVIRONMENT.json b/research/p104-query-only-interval/ENVIRONMENT.json new file mode 100644 index 0000000000..d84d72b5e2 --- /dev/null +++ b/research/p104-query-only-interval/ENVIRONMENT.json @@ -0,0 +1,7 @@ +{ + "python": "3.12.14 (main, Aug 25 2026, 14:00:49) [Clang 22.1.3 ]", + "implementation": "CPython", + "platform": "Linux-6.18.57-x86_64-with-glibc2.39", + "dependencies": "Python standard library only; no network, subprocess or external solver needed by package replay", + "canonical_base": "7c49fe32c55de02c2c873655c804b16e4c3fef0a" +} diff --git a/research/p104-query-only-interval/PATCH.json b/research/p104-query-only-interval/PATCH.json new file mode 100644 index 0000000000..efb351c03b --- /dev/null +++ b/research/p104-query-only-interval/PATCH.json @@ -0,0 +1,1516 @@ +{ + "source_interval_half_open": [ + 457, + 576 + ], + "replacement_events": [ + [ + "A", + "ADD", + 19, + 20, + "-1" + ], + [ + "A", + "IDLE_ONE", + 28, + [ + 9 + ] + ], + [ + "A", + "SWAP", + 28, + 27 + ], + [ + "A", + "SWAP", + 28, + 26 + ], + [ + "A", + "SWAP", + 28, + 25 + ], + [ + "A", + "SWAP", + 28, + 24 + ], + [ + "A", + "SWAP", + 28, + 23 + ], + [ + "A", + "SWAP", + 28, + 22 + ], + [ + "A", + "SWAP", + 28, + 21 + ], + [ + "A", + "ADD", + 19, + 20, + "1" + ], + [ + "A", + "SCALE", + 20, + "-1" + ], + [ + "A", + "SWAP", + 28, + 20 + ], + [ + "A", + "ADD", + 37, + 19, + "1" + ], + [ + "A", + "ADD", + 36, + 19, + "1" + ], + [ + "A", + "ADD", + 35, + 19, + "1" + ], + [ + "A", + "ADD", + 34, + 19, + "1" + ], + [ + "A", + "ADD", + 33, + 19, + "1" + ], + [ + "A", + "ADD", + 32, + 19, + "1" + ], + [ + "A", + "ADD", + 31, + 19, + "1" + ], + [ + "A", + "ADD", + 30, + 19, + "1" + ], + [ + "A", + "ADD", + 29, + 19, + "1" + ], + [ + "A", + "ADD", + 27, + 19, + "1" + ], + [ + "A", + "ADD", + 26, + 19, + "1" + ], + [ + "A", + "ADD", + 25, + 19, + "1" + ], + [ + "A", + "ADD", + 24, + 19, + "1" + ], + [ + "A", + "ADD", + 23, + 19, + "1" + ], + [ + "A", + "ADD", + 22, + 19, + "1" + ], + [ + "A", + "ADD", + 21, + 19, + "1" + ], + [ + "A", + "ADD", + 20, + 19, + "1" + ], + [ + "A", + "LAMBDA", + 19, + 1 + ], + [ + "A", + "ADD", + 2, + 1, + "-1" + ], + [ + "A", + "ADD", + 3, + 1, + "-1" + ], + [ + "A", + "ADD", + 4, + 1, + "-1" + ], + [ + "A", + "ADD", + 5, + 1, + "-1" + ], + [ + "A", + "ADD", + 6, + 1, + "-1" + ], + [ + "A", + "ADD", + 7, + 1, + "-1" + ], + [ + "A", + "ADD", + 8, + 1, + "-1" + ], + [ + "A", + "ADD", + 9, + 1, + "-1" + ], + [ + "A", + "ADD", + 10, + 1, + "-1" + ], + [ + "A", + "ADD", + 11, + 1, + "-1" + ], + [ + "A", + "ADD", + 12, + 1, + "-1" + ], + [ + "A", + "ADD", + 13, + 1, + "-1" + ], + [ + "A", + "ADD", + 14, + 1, + "-1" + ], + [ + "A", + "ADD", + 15, + 1, + "-1" + ], + [ + "A", + "ADD", + 16, + 1, + "-1" + ], + [ + "A", + "ADD", + 17, + 1, + "-1" + ], + [ + "A", + "ADD", + 18, + 1, + "-1" + ], + [ + "A", + "ADD", + 2, + 3, + "-1" + ], + [ + "A", + "ADD", + 2, + 4, + "1" + ], + [ + "A", + "ADD", + 2, + 5, + "-1" + ], + [ + "A", + "ADD", + 2, + 6, + "1" + ], + [ + "A", + "ADD", + 2, + 7, + "-1" + ], + [ + "A", + "ADD", + 2, + 8, + "1" + ], + [ + "A", + "ADD", + 2, + 9, + "-1" + ], + [ + "A", + "ADD", + 2, + 10, + "1" + ], + [ + "A", + "ADD", + 2, + 11, + "-1" + ], + [ + "A", + "ADD", + 2, + 12, + "1" + ], + [ + "A", + "ADD", + 2, + 13, + "-1" + ], + [ + "A", + "ADD", + 2, + 14, + "1" + ], + [ + "A", + "ADD", + 2, + 15, + "-1" + ], + [ + "A", + "ADD", + 2, + 16, + "1" + ], + [ + "A", + "ADD", + 2, + 17, + "-1" + ], + [ + "A", + "ADD", + 2, + 18, + "1" + ], + [ + "A", + "LAMBDA", + 2, + 1 + ], + [ + "A", + "ADD", + 0, + 2, + "-1" + ], + [ + "A", + "SWAP", + 0, + 1 + ], + [ + "A", + "SWAP", + 19, + 1 + ], + [ + "A", + "ADD", + 19, + 2, + "1" + ], + [ + "A", + "LAMBDA", + 2, + 1 + ], + [ + "A", + "LAMBDA", + 2, + 1 + ], + [ + "A", + "LAMBDA", + 0, + 1 + ], + [ + "A", + "LAMBDA", + 0, + 1 + ], + [ + "A", + "ADD", + 1, + 0, + "1" + ], + [ + "A", + "LAMBDA", + 0, + -1 + ], + [ + "A", + "LAMBDA", + 0, + -1 + ], + [ + "A", + "QUERY", + 0, + 19, + -1 + ], + [ + "A", + "LAMBDA", + 0, + 1 + ], + [ + "A", + "LAMBDA", + 0, + 1 + ], + [ + "A", + "ADD", + 1, + 0, + "-1" + ], + [ + "A", + "LAMBDA", + 0, + -1 + ], + [ + "A", + "LAMBDA", + 0, + -1 + ], + [ + "A", + "QUERY", + 19, + 1, + -1 + ], + [ + "A", + "LAMBDA", + 0, + 1 + ], + [ + "A", + "LAMBDA", + 0, + 1 + ], + [ + "A", + "ADD", + 1, + 0, + "1" + ], + [ + "A", + "LAMBDA", + 0, + -1 + ], + [ + "A", + "LAMBDA", + 0, + -1 + ], + [ + "A", + "LAMBDA", + 19, + 1 + ], + [ + "A", + "LAMBDA", + 19, + 1 + ], + [ + "A", + "ADD", + 2, + 19, + "-1" + ], + [ + "A", + "LAMBDA", + 19, + -1 + ], + [ + "A", + "LAMBDA", + 19, + -1 + ], + [ + "A", + "QUERY", + 1, + 2, + -1 + ], + [ + "A", + "LAMBDA", + 19, + 1 + ], + [ + "A", + "LAMBDA", + 19, + 1 + ], + [ + "A", + "ADD", + 2, + 19, + "1" + ], + [ + "A", + "LAMBDA", + 19, + -1 + ], + [ + "A", + "LAMBDA", + 19, + -1 + ], + [ + "A", + "LAMBDA", + 1, + 1 + ], + [ + "A", + "LAMBDA", + 1, + 1 + ], + [ + "A", + "ADD", + 0, + 1, + "-1" + ], + [ + "A", + "LAMBDA", + 2, + 1 + ], + [ + "A", + "LAMBDA", + 2, + 1 + ], + [ + "A", + "LAMBDA", + 2, + -1 + ], + [ + "A", + "ADD", + 2, + 3, + "1" + ], + [ + "A", + "ADD", + 2, + 4, + "-1" + ], + [ + "A", + "ADD", + 2, + 5, + "1" + ], + [ + "A", + "ADD", + 2, + 6, + "-1" + ], + [ + "A", + "ADD", + 2, + 7, + "1" + ], + [ + "A", + "ADD", + 2, + 8, + "-1" + ], + [ + "A", + "ADD", + 2, + 9, + "1" + ], + [ + "A", + "ADD", + 2, + 10, + "-1" + ], + [ + "A", + "ADD", + 2, + 11, + "1" + ], + [ + "A", + "ADD", + 2, + 12, + "-1" + ], + [ + "A", + "ADD", + 2, + 13, + "1" + ], + [ + "A", + "ADD", + 2, + 14, + "-1" + ], + [ + "A", + "ADD", + 2, + 15, + "1" + ], + [ + "A", + "ADD", + 2, + 16, + "-1" + ], + [ + "A", + "ADD", + 2, + 17, + "1" + ], + [ + "A", + "ADD", + 2, + 18, + "-1" + ], + [ + "A", + "ADD", + 2, + 1, + "1" + ], + [ + "A", + "ADD", + 3, + 1, + "1" + ], + [ + "A", + "ADD", + 4, + 1, + "1" + ], + [ + "A", + "ADD", + 5, + 1, + "1" + ], + [ + "A", + "ADD", + 6, + 1, + "1" + ], + [ + "A", + "ADD", + 7, + 1, + "1" + ], + [ + "A", + "ADD", + 8, + 1, + "1" + ], + [ + "A", + "ADD", + 9, + 1, + "1" + ], + [ + "A", + "ADD", + 10, + 1, + "1" + ], + [ + "A", + "ADD", + 11, + 1, + "1" + ], + [ + "A", + "ADD", + 12, + 1, + "1" + ], + [ + "A", + "ADD", + 13, + 1, + "1" + ], + [ + "A", + "ADD", + 14, + 1, + "1" + ], + [ + "A", + "ADD", + 15, + 1, + "1" + ], + [ + "A", + "ADD", + 16, + 1, + "1" + ], + [ + "A", + "ADD", + 17, + 1, + "1" + ], + [ + "A", + "ADD", + 18, + 1, + "1" + ], + [ + "A", + "ADD", + 1, + 18, + "-1" + ], + [ + "A", + "ADD", + 1, + 17, + "1" + ], + [ + "A", + "ADD", + 1, + 16, + "-1" + ], + [ + "A", + "ADD", + 1, + 15, + "1" + ], + [ + "A", + "ADD", + 1, + 14, + "-1" + ], + [ + "A", + "ADD", + 1, + 13, + "1" + ], + [ + "A", + "ADD", + 1, + 12, + "-1" + ], + [ + "A", + "ADD", + 1, + 11, + "1" + ], + [ + "A", + "ADD", + 1, + 10, + "-1" + ], + [ + "A", + "ADD", + 1, + 9, + "1" + ], + [ + "A", + "ADD", + 1, + 8, + "-1" + ], + [ + "A", + "ADD", + 1, + 7, + "1" + ], + [ + "A", + "ADD", + 1, + 6, + "-1" + ], + [ + "A", + "ADD", + 1, + 5, + "1" + ], + [ + "A", + "ADD", + 1, + 4, + "-1" + ], + [ + "A", + "ADD", + 1, + 3, + "1" + ], + [ + "A", + "ADD", + 1, + 2, + "-1" + ], + [ + "A", + "SCALE", + 1, + "-1" + ], + [ + "A", + "SCALE", + 0, + "-1" + ], + [ + "A", + "ADD", + 18, + 0, + "-1" + ], + [ + "A", + "ADD", + 17, + 0, + "-1" + ], + [ + "A", + "ADD", + 16, + 0, + "-1" + ], + [ + "A", + "ADD", + 15, + 0, + "-1" + ], + [ + "A", + "ADD", + 14, + 0, + "-1" + ], + [ + "A", + "ADD", + 13, + 0, + "-1" + ], + [ + "A", + "ADD", + 12, + 0, + "-1" + ], + [ + "A", + "ADD", + 11, + 0, + "-1" + ], + [ + "A", + "ADD", + 10, + 0, + "-1" + ], + [ + "A", + "ADD", + 9, + 0, + "-1" + ], + [ + "A", + "ADD", + 8, + 0, + "-1" + ], + [ + "A", + "ADD", + 7, + 0, + "-1" + ], + [ + "A", + "ADD", + 6, + 0, + "-1" + ], + [ + "A", + "ADD", + 5, + 0, + "-1" + ], + [ + "A", + "ADD", + 4, + 0, + "-1" + ], + [ + "A", + "ADD", + 3, + 0, + "-1" + ], + [ + "A", + "ADD", + 2, + 0, + "-1" + ], + [ + "A", + "LAMBDA", + 0, + -1 + ], + [ + "A", + "LAMBDA", + 0, + 1 + ], + [ + "A", + "ADD", + 1, + 18, + "-1" + ], + [ + "A", + "ADD", + 0, + 18, + "-1" + ], + [ + "A", + "ADD", + 1, + 17, + "1" + ], + [ + "A", + "ADD", + 0, + 17, + "1" + ], + [ + "A", + "ADD", + 1, + 16, + "-1" + ], + [ + "A", + "ADD", + 0, + 16, + "-1" + ], + [ + "A", + "ADD", + 1, + 15, + "1" + ], + [ + "A", + "ADD", + 0, + 15, + "1" + ], + [ + "A", + "ADD", + 1, + 14, + "-1" + ], + [ + "A", + "ADD", + 0, + 14, + "-1" + ], + [ + "A", + "ADD", + 1, + 13, + "1" + ], + [ + "A", + "ADD", + 0, + 13, + "1" + ], + [ + "A", + "ADD", + 1, + 12, + "-1" + ], + [ + "A", + "ADD", + 0, + 12, + "-1" + ], + [ + "A", + "ADD", + 1, + 11, + "1" + ], + [ + "A", + "ADD", + 0, + 11, + "1" + ], + [ + "A", + "ADD", + 1, + 10, + "-1" + ], + [ + "A", + "SCALE", + 10, + "-1" + ], + [ + "A", + "ADD", + 1, + 9, + "1" + ], + [ + "A", + "ADD", + 0, + 9, + "1" + ], + [ + "A", + "SWAP", + 18, + 9 + ], + [ + "A", + "ADD", + 1, + 8, + "-1" + ], + [ + "A", + "ADD", + 0, + 8, + "-1" + ], + [ + "A", + "SWAP", + 17, + 8 + ], + [ + "A", + "ADD", + 1, + 7, + "1" + ], + [ + "A", + "ADD", + 0, + 7, + "1" + ], + [ + "A", + "SWAP", + 16, + 7 + ], + [ + "A", + "ADD", + 1, + 6, + "-1" + ], + [ + "A", + "ADD", + 0, + 6, + "-1" + ], + [ + "A", + "SWAP", + 15, + 6 + ], + [ + "A", + "ADD", + 1, + 5, + "1" + ], + [ + "A", + "ADD", + 0, + 5, + "1" + ], + [ + "A", + "SWAP", + 14, + 5 + ], + [ + "A", + "ADD", + 1, + 4, + "-1" + ], + [ + "A", + "ADD", + 0, + 4, + "-1" + ], + [ + "A", + "SWAP", + 13, + 4 + ], + [ + "A", + "ADD", + 1, + 3, + "1" + ], + [ + "A", + "ADD", + 0, + 3, + "1" + ], + [ + "A", + "SWAP", + 12, + 3 + ], + [ + "A", + "ADD", + 1, + 2, + "-1" + ], + [ + "A", + "ADD", + 0, + 2, + "-1" + ], + [ + "A", + "SWAP", + 11, + 2 + ], + [ + "A", + "ADD", + 0, + 1, + "-1" + ], + [ + "A", + "SCALE", + 1, + "-1" + ], + [ + "A", + "SWAP", + 10, + 1 + ], + [ + "A", + "SWAP", + 1, + 0 + ], + [ + "A", + "ADD", + 0, + 1, + "2" + ], + [ + "A", + "LAMBDA", + 0, + -1 + ] + ], + "old_event_count": 2991, + "new_event_count": 3095, + "scope": "Exact formal caller source, no installed physical provider." +} diff --git a/research/p104-query-only-interval/PR-DESCRIPTION.md b/research/p104-query-only-interval/PR-DESCRIPTION.md new file mode 100644 index 0000000000..3456425f0c --- /dev/null +++ b/research/p104-query-only-interval/PR-DESCRIPTION.md @@ -0,0 +1,67 @@ +## Problem and result + +DreamingOfClouds' E-free caller in CrocSwap/integer-mult-bounds#6937 avoids +empty-mask main productive credits but introduces two QSELF operations. The +earlier public owned lowering gives them relative typed-IR lifetimes while +leaving their new physical token registry uninstalled. + +This package replaces the exact separated interval 457..575, including all +intervening source operations, by a word using three existing QUERY(-1) +operations and existing ADD/SWAP/LAMBDA operations. That equals the interval's +original paid budget of two QSELFs and one QUERY. No new helper, initialized +role, target credit or operation type is introduced. The generated complete +caller has 3,095 events and zero QSELFs. + +## Exact theorem and novelty + +For commuting Q,D1,...,D18 with Q^4=I, the new caller has exactly the original +operator on all 76 independent inputs. All D variables stay formal. The new +four-input three-query identity is joined to the actual separated sites by +an explicit even basis and source conjugation; a same-cut pair identity alone +would miss the intervening query's contribution. The noninvertible D9 operation +is never inverted. The source LAMBDA is a unit in both q^2 sectors. + +Credit for the E-free source and prior QUERY-only feasibility suggestion stays +with DreamingOfClouds and #6937; that source reports a gadget and says its whole +QUERY-only caller was not built. The unchanged local native source comes from +CrocSwap/integer-mult-bounds#6936. The public owned-lowering package at +[4e2fd1b6](https://github.com/CubeJerry/integer-mult-bounds/tree/4e2fd1b6abed49c202a057fd5c73ead0a460f976/research/p104-qself-owned-lowering) +supplies the exact source semantics, formal engines and invoice baseline. + +## Complete costs and kappa status + +Every rankwise target and paid count is unchanged, so the full moment +polynomial is identical at every kappa. Totals remain T=23,050 and P=117,846; +the surplus is 1,520 and paid rank mass 317,324. The conditional inherited +ordinary invoice rises from 811,461,936 to 826,265,904, leaving 173,734,096 below +the stated 10^9 cap. The 104 additional A events and 28 additional A LAMBDAs +are explicitly charged. All 416 outer jobs are now existing QUERY lifetimes. + +**No new kappa; no unconditional theorem; selected certificate unchanged.** +The historical scalar/routing tariff remains conditional. New intermediate +formats, signed headroom, rounded errors, physical bit-tape rates, retained +backing and literal compiler/provider bindings require further proof. Existing +opcode support does not establish a physical full-caller execution. + +## Source pins and verification + +- Canonical base `7c49fe32c55de02c2c873655c804b16e4c3fef0a`. +- #6937 head `a98df73ddae1d1ea85a62b6bdf2714b28cb7b359`. +- #6936 head `03626137d0bd57f09b0bf9597376183ce6fa9683`. +- New exact 38-input interval matrix with unrestricted D multiplicities. +- Reused full76-input forward certificate and separate backward covectors; + all 18 D variables remain formal, with exact q^4 quotient coverage. +- Eight algebra failure controls plus a fourth-query paid-budget control. +- Registered normal and optimized suites, committed-byte/export checks as + recorded in `REVIEW.md`; no selected nine-axis physical caller run claimed. + +```sh +python3 -B scripts/research_package.py --package research/p104-query-only-interval --check-only +python3 -B scripts/research_package.py --package research/p104-query-only-interval +``` + +The package includes the complete generated caller, exact patch, proof, +source capsule, invoice, receipts and structured open next questions. +Prepared for **@CubeJerry** with substantial OpenAI assistance in mathematical +derivation, implementation and verification; separate AI/code-assisted reviews +are not human or proof-kernel acceptance. Predecessor notices remain intact. diff --git a/research/p104-query-only-interval/PROOF.md b/research/p104-query-only-interval/PROOF.md new file mode 100644 index 0000000000..2f8610ae45 --- /dev/null +++ b/research/p104-query-only-interval/PROOF.md @@ -0,0 +1,287 @@ +# Removing both separated QSELF sites within the existing paid budget + +Prepared for **@CubeJerry**, with substantial OpenAI assistance. Apache-2.0. +**No new kappa. Exact formal caller identity; physical and rounded interfaces remain conditional.** + +## 1. Exact claim, sources and novelty + +Canonical base: `7c49fe32c55de02c2c873655c804b16e4c3fef0a`. +The source is DreamingOfClouds' [#6937](https://github.com/CrocSwap/integer-mult-bounds/pull/6937), +head `a98df73ddae1d1ea85a62b6bdf2714b28cb7b359`, +`research/p104-two-chain-findings/data/caller_efree.json` (Git blob +`5a71ca9f80ced1aeb8a68e97516cab52eb72a52a`). The unchanged local native word +is from [#6936](https://github.com/CrocSwap/integer-mult-bounds/pull/6936), +head `03626137d0bd57f09b0bf9597376183ce6fa9683`. + +The E-free root and caller are entirely DreamingOfClouds' work. Its README +reports a QUERY-only gadget with a projected cost loss, while saying the +whole QUERY-only caller was not built. The preceding public package +`CubeJerry/integer-mult-bounds@4e2fd1b6abed49c202a057fd5c73ead0a460f976`, +`research/p104-qself-owned-lowering`, supplies the reproducible formal caller +certificate and an owned QSELF expansion with an explicitly uninstalled new +token registry. Its single-QSELF determinant obstruction expressly leaves +paired source synthesis open. This package supplies a different result: a +whole actual separated interval replacement with the same paid profile and +only existing caller operations. It does not rerun or extend that obstruction. + +**Theorem.** Let Q,D_1,...,D_18 be commuting operators on any complex vector +space V, with Q^4=I. Interpret the exact pinned caller with its stated scalar, +QUERY, LAMBDA, IDLE_ONE and joint-contact semantics. Replace zero-based events +457 through 575 inclusive by the 223 events emitted by `replacement.py`. +The resulting 3,095-event caller has exactly the same operator on all 76 +independent inputs. It has no QSELF event. The replaced interval uses exactly +three QUERY(-1) events, the same number of rank-one jobs as its former two +QSELF(-1) events and one QUERY(-1). It uses the same public roles and no new +owned role, arbitrary helper, productive credit, or operation type. + +This theorem includes all input columns and absolute coefficients in the +commutative operator model. It does not assert success on the same finite +signed or rounded inputs, install a physical compiler/service binding, or +prove the retained scalar and routing rates. Those are separate obligations. + +## 2. A three-query identity on four arbitrary fields + +Work first in R=Q(i)[q]/(q^4-1). Put x=q^-1 and t=x^2=q^2, so t^2=1 and +x^-1=t*x. The source's actual phase units are + + lambda_s = ((1+s*i)+(1-s*i)*q^2)/2, s in {+1,-1}. + +They satisfy lambda_+*lambda_-=1 and lambda_+^2=lambda_-^2=t. They are +**units, not the projection (1+q^2)/2**. No inverse of a projection or of any +D variable is used anywhere below. + +For four arbitrary independent fields (a,b,c,d), perform the invertible +q-even preprocessing + + (w1,w2,w3,w4) = (c, a+d, b+t*c, t*d). + +Then perform exactly three generalized query shears in this order: + + w1 <- w1 + x*w2; + w2 <- w2 + x*(w3-t*w1); + w3 <- w3 + x*(w4-t*w2). + +Each query is one literal QUERY(-1). Its indicated source is made by an even +ADD into the other existing public field, then restored after the query. +The query destination differs from that source, so restoring the source +does not undo the update. Multiplication by t uses two source LAMBDA(+1) +events. A temporary t scaling is undone by two LAMBDA(-1) events. These +scans and field transformations are charged; they are not a free oracle. + +After these three steps direct substitution gives + + w1 = c+x*(a+d), + w2 = x*b, + w3 = t*c+t*x*d, + w4 = t*d. + +The even postprocessing + + (w1-t*w3, w2, t*w3, t*w4) + +therefore returns exactly + + (x*a, x*b, c+x*d, d). + +The gadget is a genuine four-input map. In particular d is arbitrary and +restored, and c is arbitrary and receives the prescribed shear. No field is +assumed zero. The emitted word uses 38 existing events: three QUERYs, +26 LAMBDAs, seven ADDs and two SWAPs. The inverse even basis exists over the +entire quotient ring, including q=+/-i. The exact local matrix certificate +checks every coefficient, and a separate unit-basis round trip detects loss +of either q^2 sector. + +## 3. Why that gadget replaces the actual separated sites + +Use column-vector convention: later operations multiply on the left. Let +S_0 multiply role0 by x, S_19 multiply role19 by x, and let +U=I+x*e0*e1^T be the actual QUERY at event495. Partition the intervening +even source events exactly as follows: + +| Block | Zero-based source events | Roles | Content | +| --- | --- | --- | --- | +| E1 | 458..494 | 0..18 | Invertible ADD/SCALE/LAMBDA prefix | +| E2 | 496..544 | 0..18 | Invertible ADD/SCALE/SWAP/LAMBDA suffix | +| B | 545..574 | 19..37 | Other chain prefix, including IDLE_ONE(28,[9]) | + +The original complete interval is the matrix S_19 B E2 U E1 S_0. +Every operation in B has support disjoint from every first-chain operation. +Thus B may move to the right of all first-chain factors, and S_19 may move +leftward across first-chain factors. We obtain + + E2 E1 (E1^-1 U E1) S_0 S_19 B. + +**B is never inverted.** Its IDLE_ONE multiplies by the unrestricted formal +D9 and may be noninvertible. It moves only across disjoint role supports. +E1 alone is conjugated, and its scalar factors are units. + +Let + + s = e1+...+e18, + w = sum_{k=1}^{18} (-1)^k e_k^T, + lambda = lambda_+. + +Then w*s=0 and w*e0=w*e19=0. Reading the actual E1 events gives + + E1^-1 e0 = lambda*(-e0+s), e1^T E1 = w. + +For example, E1 sends role0 to -lambda_- times its old value, sends each +rolek for 2<=k<=18 to old rolek+old role0, and sends role1 to w applied to +the old roles. Solving E1 v=e0 gives the displayed inverse column; this does +not infer a source relation from a finite input probe. Hence + + E1^-1 U E1 = I + x*lambda*(s-e0)*w. + +Writing S=S_0 S_19, the three paid source operations reduce to + + (E1^-1 U E1) S + = S (I+x*lambda*s*w) (I-lambda*e0*w). + +All cross terms vanish because w kills s,e0,e19. This is the source-specific +correction missed by treating the two QSELF sites as an adjacent pair. +The original QUERY contributes the nontrivial independent shear along s. + +Now change the first-chain coordinates using only existing even events. +Subtract role1 from each role2..18. Into role2 add (-1)^k times rolek for +k=3..18, then apply LAMBDA(+1) to role2. The new coordinates include + + c = old role1, + d = lambda*w(old roles). + +The other residual roles retain all remaining independent input information. +The inverse first applies LAMBDA(-1) to role2, undoes its signed sum, and +adds the new role1 into roles2..18. Increasing c in these coordinates +increases every original role1..18 by the same amount: its direction is s. + +Call this invertible coordinate map P^-1. Its two emitted directions each +cost 34 events. In coordinates (a,b,c,d)=(role0,role19,role1,role2), the +factor I-lambda*e0*w is simply ADD(0,2,-1). The factor +S(I+x*lambda*s*w) is exactly the four-field map in section2. + +The complete replacement is therefore, chronologically: + + B; P^-1; ADD(0,2,-1); THREE_QUERIES; P; E1; E2. + +Its event count is 30+34+1+38+34+37+49=223. All source events before457 and +after575 remain byte-for-byte equal as parsed records. This construction +replaces the whole separated interval, not merely a same-cut subexpression. + +## 4. Formal certificates and failure detection + +`interval_certificate.py` is a separate exact sparse-matrix implementation. +It starts with 38 independent interval input generators. Coefficients are +Gaussian rationals, q exponents are reduced only modulo4, and D monomials +are sorted tuples with repetitions retained. The complete two interval +matrices agree in all 180 nonzero endpoint entries. The interval uses D9, +but never specializes it or assumes its inverse or idempotence. + +The full generated caller is also replayed by the unchanged public forward +certificate over Q(i)[q,D1,...,D18]/(q^4-1). All 18 D variables remain +formal and all 76 input generators remain independent. It returns the same +76 diagonal monomials as the source. A different unchanged backward-covector +checker uses integer dyadics at q=1,i,-1,-i, with D variables still formal. +Evaluation at all four distinct fourth roots is injective coefficientwise +on this quotient, so these checks are faithful operator certificates, not +sampled D or sampled field-value experiments. + +The newly supplied interval arithmetic imports none of those predecessor +arithmetic routines. The reused forward and backward engines are credited; +replaying either alone would be regression evidence, not a new independent +implementation. The proof above derives the identity without their code. + +Controls change a query orientation, delete one query, omit the source +conjugation correction, break a t scaling/restoration, repeat D9, contaminate +another independent input, replace lambda with a projection, and remove the +q^4 relation by working modulo q^8-1. Each changes the exact interval matrix. +These controls do not prove minimality of three queries or a general lower +bound for another word. + +Induction over the exact source semantics proves that each matrix entry is +the indicated formal coefficient. A homomorphism into the commuting operator +algebra generated by Q,D maps the identity to every V and every collection +of input fields. No dimension bound, sampled numerical values, or rounded +input assumptions enter that exact theorem. + +## 5. Complete recursive profile and positive ordinary invoice + +Each A event occurs at 96 actual ports. The replacement deletes 192 QSELF +instances, adds 192 QUERY instances, and leaves the former QUERY instances +in the total paid count. Across the full caller, the source has 224 QUERYs +plus 192 QSELFs; the new caller has 416 QUERYs and zero QSELFs. All queries +here have exponent -1, so both complete frame conversions and the return +translation have the same inherited charge per job. + +The 18 local native words, their 400 actual main fields per call, and their +1,061 fresh arbitrary helper fields per call are unchanged. The caller still +has 3,952 actual A/B main inputs and 19,098 fresh local helpers. The root +targets are unchanged, with no empty-mask E input restored or credited. +For every rank r, T_new(r)=T_source(r) and P_new(r)=P_source(r). Thus every +signed target/paid moment agrees identically as a function of kappa. The +complete totals remain T=23,050, P=117,846; surplus=1,520; paid rank mass=317,324. + +No public role is newly allocated. The temporary linear sources in section2 +use already live roles and are restored by ordinary invertible operations. +The existing QUERY contract still needs its copied owned bank and completed +query lifecycle. Three serial query jobs can reuse its fixed inventory; there +are 416 outer query lifetimes overall, the same total as QUERY plus owned +QSELF lifetimes in the baseline. No uninitialized or arbitrary helper is +treated as zero, and no productive target is claimed for query scratch. +All private native workspace, historical backing and parked ancestors remain +charged by the inherited QUERY/LAMBDA/scalar interfaces. + +Under the **inherited scalar/routing convention**, the extra 104 A events +cost 104*32*38*96=12,140,544 units. The extra 28 A LAMBDAs receive the +separate conservative charge 28*1,000*96=2,688,000. The eliminated owned +QSELF-specific macro surcharge is 192*128=24,576. Every other term remains. + +| Complete conditional invoice | QSELF baseline | QUERY-only caller | +| --- | ---: | ---: | +| Reviewed raw ordinary upper | 796,934,944 | 809,050,912 | +| Separate LAMBDA reading | 11,792,000 | 14,480,000 | +| Per-call 1125 conversion reading | 2,734,992 | 2,734,992 | +| All displayed readings included | 811,461,936 | 826,265,904 | +| Margin below inherited 10^9 cap | 188,538,064 | 173,734,096 | + +`complete_invoice.py` reconstructs the unchanged local word and both caller +profiles and checks each changed term. These are conditional scalar/pass +counts, not a new proof of the complete bit-tape tariff. Increased arithmetic +length, temporary coefficients and cross-chain intermediate values require +fresh rounding, signed-width, common-grid and source-placement bounds. There +is no claimed improvement to the accepted kappa or unconditional theorem. + +## 6. Remaining obligations and credit + +The substitution removes the need for a new abstract QSELF operation in this +exact proposed caller. It does not prove arbitrary-Q synthesis: the gadget +and actual source phase algebra use Q^4=I. It neither changes the selected +certificate nor discharges all native_all_columns, owned_erasure, compiler, +precision_tape or analytic_recovery premises. + +Before physical supplier use, regenerate the actual compiler records and +bind the new source occurrences to the existing QUERY, LAMBDA and scalar +providers; prove matching formats and all intermediate signed admission; +reprice complete bit-tape work and historical backing; and propagate errors +through the changed order and additional even operations. Existing opcode +semantics alone do not install an exact source-specific service registry. + +DreamingOfClouds receives credit for #6936/#6937, the E-free construction and +prior QUERY-only feasibility suggestion. The public owned-lowering package +receives credit for the prior formal engines, exact semantics/source pins and +full invoice baseline. Its underlying native, caller, compiler and physical +predecessors retain their attribution. The three-query four-input identity, +its exact separated-source reduction, emitted whole caller and new interval +certificate were prepared for @CubeJerry with substantial OpenAI assistance. + +## Open next questions + +1. Can the regenerated caller satisfy the actual common-format and rounded + QUERY/LAMBDA contracts at this interval? Start with its 223 new intermediate + coefficient rows and the actual source compiler; exact operator equality + does not establish headroom or an error budget. +2. Can the 28 added LAMBDA occurrences be reduced without increasing the paid + profile or changing arbitrary-input restoration? Preserve this complete + verified source as the baseline; an isolated two-register identity is + insufficient. This optimization is outside the present bounded task. +3. Can the resulting existing-op caller be admitted with all native/owned + dependencies and a complete bit-tape certificate? The inherited tariff, + literal source registry and universal proof assumptions remain blockers. diff --git a/research/p104-query-only-interval/QUERY-ONLY-CALLER.json b/research/p104-query-only-interval/QUERY-ONLY-CALLER.json new file mode 100644 index 0000000000..cf55f42710 --- /dev/null +++ b/research/p104-query-only-interval/QUERY-ONLY-CALLER.json @@ -0,0 +1 @@ +{"schema":"mixed-root-caller/1","stages":18,"ambient_rank":153,"roles":76,"types":{"A":{"form":"two-chain-HOST2","roles":38,"offset":0,"ports":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,18,19,20,21,22,23,24,25,26,28,29,30,31,32,33,36,37,38,39,40,41,43,44,45,46,48,49,50,51,52,53,54,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103],"alpha2":"-1","beta2":"0","diagonal":[[-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[-1,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1],[-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[-1,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1]]},"B":{"form":"hosted-HOST","roles":38,"offset":38,"ports":[15,17,27,34,35,42,47,55],"diagonal":[[-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[-1,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1]],"pairs":[[0,1,"-1","1/2","-1/2"],[2,3,"-1","1/2","-1/2"],[4,5,"-1","1/2","-1/2"],[6,7,"-1","1/2","-1/2"],[8,9,"-1","1/2","-1/2"],[10,11,"-1","1/2","-1/2"],[12,13,"-1","1/2","-1/2"],[14,15,"-1","1/2","-1/2"],[16,17,"-1","1/2","-1/2"],[22,23,"-1","1/2","-1/2"],[24,25,"-1","1/2","-1/2"],[26,27,"-1","1/2","-1/2"],[28,29,"-1","1/2","-1/2"],[30,31,"-1","1/2","-1/2"],[32,33,"-1","1/2","-1/2"],[34,35,"-1","1/2","-1/2"],[36,37,"-1","1/2","-1/2"],[38,39,"-1","1/2","-1/2"]]}},"events":[["A","ADD",0,1,"-1"],["A","SWAP",0,1],["A","LAMBDA",0,-1],["A","ADD",19,20,"-1"],["A","SWAP",19,20],["A","SCALE",20,"-1"],["A","LAMBDA",19,1],["B","ADD",40,41,"-2"],["B","ADD",39,41,"1"],["B","ADD",38,41,"2"],["B","ADD",39,40,"1"],["B","ADD",38,40,"1"],["B","ADD",38,39,"-2"],["B","SCALE",39,"256"],["B","ADD",41,39,"-1/128"],["B","ADD",40,39,"1/128"],["B","SCALE",38,"128"],["B","ADD",41,38,"-1/128"],["B","ADD",40,38,"1/64"],["B","ADD",39,38,"1"],["B","LAMBDA",38,-1],["J",1,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","ADD",1,2,"1"],["A","ADD",0,2,"-1"],["A","SCALE",1,"-1"],["A","SWAP",1,2],["A","ADD",2,0,"-1"],["A","SWAP",0,1],["A","LAMBDA",0,-1],["A","ADD",20,21,"1"],["A","ADD",19,21,"-1"],["A","SCALE",20,"-1"],["A","SWAP",20,21],["A","SCALE",19,"-1"],["A","ADD",21,19,"1"],["A","SWAP",19,20],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",40,[1]],["B","IDLE_ONE",41,[1]],["B","ADD",42,43,"-2"],["B","ADD",40,43,"-2"],["B","ADD",39,43,"-256"],["B","ADD",38,43,"-128"],["B","ADD",41,42,"1"],["B","ADD",40,42,"-2"],["B","ADD",39,42,"-256"],["B","ADD",39,41,"256"],["B","ADD",38,41,"-128"],["B","ADD",38,40,"-128"],["B","ADD",41,40,"1"],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",43,39,"-1/128"],["B","ADD",42,39,"1/128"],["B","ADD",41,39,"1/128"],["B","ADD",40,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",43,38,"1/128"],["B","ADD",41,38,"-1/128"],["B","ADD",40,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",2,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",2,[2,3,4,5,6,7,8,9]],["A","ADD",1,3,"1"],["A","ADD",0,3,"-2"],["A","ADD",0,1,"2"],["A","SCALE",1,"-1"],["A","SCALE",0,"-1"],["A","ADD",1,0,"-1"],["A","SWAP",0,3],["A","LAMBDA",0,-1],["A","ADD",19,20,"-1"],["A","IDLE_ONE",21,[2,3,4,5,6,7,8,9]],["A","ADD",20,22,"1"],["A","ADD",19,22,"-2"],["A","ADD",19,20,"2"],["A","SCALE",19,"-1"],["A","ADD",20,19,"1"],["A","SWAP",19,22],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",40,[2,3,4,5,6,7,8,9]],["B","IDLE_ONE",41,[2,3,4,5,6,7,8,9]],["B","IDLE_ONE",42,[2]],["B","IDLE_ONE",43,[2]],["B","ADD",44,45,"-2"],["B","ADD",42,45,"-2"],["B","ADD",39,45,"-256"],["B","ADD",38,45,"-128"],["B","ADD",43,44,"1"],["B","ADD",42,44,"-2"],["B","ADD",39,44,"-256"],["B","ADD",39,43,"256"],["B","ADD",38,43,"-128"],["B","ADD",38,42,"-128"],["B","ADD",43,42,"1"],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",45,39,"-1/128"],["B","ADD",44,39,"1/128"],["B","ADD",43,39,"1/128"],["B","ADD",42,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",45,38,"1/128"],["B","ADD",43,38,"-1/128"],["B","ADD",42,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",3,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",3,[3,4,5,6,7,8,9]],["A","ADD",1,4,"1"],["A","ADD",0,4,"-2"],["A","ADD",0,1,"2"],["A","SCALE",1,"-1"],["A","SCALE",0,"-1"],["A","ADD",1,0,"-1"],["A","SWAP",0,4],["A","LAMBDA",0,-1],["A","ADD",19,20,"-1"],["A","IDLE_ONE",22,[3,4,5,6,7,8,9]],["A","ADD",20,23,"1"],["A","ADD",19,23,"-2"],["A","ADD",19,20,"2"],["A","SCALE",19,"-1"],["A","ADD",20,19,"1"],["A","SWAP",19,23],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",42,[3,4,5,6,7,8,9]],["B","IDLE_ONE",43,[3,4,5,6,7,8,9]],["B","IDLE_ONE",44,[3]],["B","IDLE_ONE",45,[3]],["B","ADD",46,47,"-2"],["B","ADD",44,47,"-2"],["B","ADD",39,47,"-256"],["B","ADD",38,47,"-128"],["B","ADD",45,46,"1"],["B","ADD",44,46,"-2"],["B","ADD",39,46,"-256"],["B","ADD",39,45,"256"],["B","ADD",38,45,"-128"],["B","ADD",38,44,"-128"],["B","ADD",45,44,"1"],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",47,39,"-1/128"],["B","ADD",46,39,"1/128"],["B","ADD",45,39,"1/128"],["B","ADD",44,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",47,38,"1/128"],["B","ADD",45,38,"-1/128"],["B","ADD",44,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",4,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",4,[4,5,6,7,8,9]],["A","ADD",1,5,"1"],["A","ADD",0,5,"-2"],["A","ADD",0,1,"2"],["A","SCALE",1,"-1"],["A","SCALE",0,"-1"],["A","ADD",1,0,"-1"],["A","SWAP",0,5],["A","LAMBDA",0,-1],["A","ADD",19,20,"-1"],["A","IDLE_ONE",23,[4,5,6,7,8,9]],["A","ADD",20,24,"1"],["A","ADD",19,24,"-2"],["A","ADD",19,20,"2"],["A","SCALE",19,"-1"],["A","ADD",20,19,"1"],["A","SWAP",19,24],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",44,[4,5,6,7,8,9]],["B","IDLE_ONE",45,[4,5,6,7,8,9]],["B","IDLE_ONE",46,[4]],["B","IDLE_ONE",47,[4]],["B","ADD",48,49,"-2"],["B","ADD",46,49,"-2"],["B","ADD",39,49,"-256"],["B","ADD",38,49,"-128"],["B","ADD",47,48,"1"],["B","ADD",46,48,"-2"],["B","ADD",39,48,"-256"],["B","ADD",39,47,"256"],["B","ADD",38,47,"-128"],["B","ADD",38,46,"-128"],["B","ADD",47,46,"1"],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",49,39,"-1/128"],["B","ADD",48,39,"1/128"],["B","ADD",47,39,"1/128"],["B","ADD",46,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",49,38,"1/128"],["B","ADD",47,38,"-1/128"],["B","ADD",46,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",5,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",5,[5,6,7,8,9]],["A","ADD",1,6,"1"],["A","ADD",0,6,"-2"],["A","ADD",0,1,"2"],["A","SCALE",1,"-1"],["A","SCALE",0,"-1"],["A","ADD",1,0,"-1"],["A","SWAP",0,6],["A","LAMBDA",0,-1],["A","ADD",19,20,"-1"],["A","IDLE_ONE",24,[5,6,7,8,9]],["A","ADD",20,25,"1"],["A","ADD",19,25,"-2"],["A","ADD",19,20,"2"],["A","SCALE",19,"-1"],["A","ADD",20,19,"1"],["A","SWAP",19,25],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",46,[5,6,7,8,9]],["B","IDLE_ONE",47,[5,6,7,8,9]],["B","IDLE_ONE",48,[5]],["B","IDLE_ONE",49,[5]],["B","ADD",50,51,"-2"],["B","ADD",48,51,"-2"],["B","ADD",39,51,"-256"],["B","ADD",38,51,"-128"],["B","ADD",49,50,"1"],["B","ADD",48,50,"-2"],["B","ADD",39,50,"-256"],["B","ADD",39,49,"256"],["B","ADD",38,49,"-128"],["B","ADD",38,48,"-128"],["B","ADD",49,48,"1"],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",51,39,"-1/128"],["B","ADD",50,39,"1/128"],["B","ADD",49,39,"1/128"],["B","ADD",48,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",51,38,"1/128"],["B","ADD",49,38,"-1/128"],["B","ADD",48,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",6,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",6,[6,7,8,9]],["A","ADD",1,7,"1"],["A","ADD",0,7,"-2"],["A","ADD",0,1,"2"],["A","SCALE",1,"-1"],["A","SCALE",0,"-1"],["A","ADD",1,0,"-1"],["A","SWAP",0,7],["A","LAMBDA",0,-1],["A","ADD",19,20,"-1"],["A","IDLE_ONE",25,[6,7,8,9]],["A","ADD",20,26,"1"],["A","ADD",19,26,"-2"],["A","ADD",19,20,"2"],["A","SCALE",19,"-1"],["A","ADD",20,19,"1"],["A","SWAP",19,26],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",48,[6,7,8,9]],["B","IDLE_ONE",49,[6,7,8,9]],["B","IDLE_ONE",50,[6]],["B","IDLE_ONE",51,[6]],["B","ADD",52,53,"-2"],["B","ADD",50,53,"-2"],["B","ADD",39,53,"-256"],["B","ADD",38,53,"-128"],["B","ADD",51,52,"1"],["B","ADD",50,52,"-2"],["B","ADD",39,52,"-256"],["B","ADD",39,51,"256"],["B","ADD",38,51,"-128"],["B","ADD",38,50,"-128"],["B","ADD",51,50,"1"],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",53,39,"-1/128"],["B","ADD",52,39,"1/128"],["B","ADD",51,39,"1/128"],["B","ADD",50,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",53,38,"1/128"],["B","ADD",51,38,"-1/128"],["B","ADD",50,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",7,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",7,[7,8,9]],["A","ADD",1,8,"1"],["A","ADD",0,8,"-2"],["A","ADD",0,1,"2"],["A","SCALE",1,"-1"],["A","SCALE",0,"-1"],["A","ADD",1,0,"-1"],["A","SWAP",0,8],["A","LAMBDA",0,-1],["A","ADD",19,20,"-1"],["A","IDLE_ONE",26,[7,8,9]],["A","ADD",20,27,"1"],["A","ADD",19,27,"-2"],["A","ADD",19,20,"2"],["A","SCALE",19,"-1"],["A","ADD",20,19,"1"],["A","SWAP",19,27],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",50,[7,8,9]],["B","IDLE_ONE",51,[7,8,9]],["B","IDLE_ONE",52,[7]],["B","IDLE_ONE",53,[7]],["B","ADD",54,55,"-2"],["B","ADD",52,55,"-2"],["B","ADD",39,55,"-256"],["B","ADD",38,55,"-128"],["B","ADD",53,54,"1"],["B","ADD",52,54,"-2"],["B","ADD",39,54,"-256"],["B","ADD",39,53,"256"],["B","ADD",38,53,"-128"],["B","ADD",38,52,"-128"],["B","ADD",53,52,"1"],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",55,39,"-1/128"],["B","ADD",54,39,"1/128"],["B","ADD",53,39,"1/128"],["B","ADD",52,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",55,38,"1/128"],["B","ADD",53,38,"-1/128"],["B","ADD",52,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",8,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",8,[8,9]],["A","ADD",1,9,"1"],["A","ADD",0,9,"-2"],["A","ADD",0,1,"2"],["A","SCALE",1,"-1"],["A","SCALE",0,"-1"],["A","ADD",1,0,"-1"],["A","SWAP",0,9],["A","LAMBDA",0,-1],["A","ADD",19,20,"-1"],["A","IDLE_ONE",27,[8,9]],["A","ADD",20,28,"1"],["A","ADD",19,28,"-2"],["A","ADD",19,20,"2"],["A","SCALE",19,"-1"],["A","ADD",20,19,"1"],["A","SWAP",19,28],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",52,[8,9]],["B","IDLE_ONE",53,[8,9]],["B","IDLE_ONE",54,[8]],["B","IDLE_ONE",55,[8]],["B","ADD",56,57,"-2"],["B","ADD",54,57,"-2"],["B","ADD",39,57,"-256"],["B","ADD",38,57,"-128"],["B","ADD",55,56,"1"],["B","ADD",54,56,"-2"],["B","ADD",39,56,"-256"],["B","ADD",39,55,"256"],["B","ADD",38,55,"-128"],["B","ADD",38,54,"-128"],["B","ADD",55,54,"1"],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",57,39,"-1/128"],["B","ADD",56,39,"1/128"],["B","ADD",55,39,"1/128"],["B","ADD",54,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",57,38,"1/128"],["B","ADD",55,38,"-1/128"],["B","ADD",54,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",9,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",9,[9]],["A","SWAP",9,8],["A","SWAP",9,7],["A","SWAP",9,6],["A","SWAP",9,5],["A","SWAP",9,4],["A","SWAP",9,3],["A","SWAP",9,2],["A","ADD",0,1,"1"],["A","SCALE",1,"-1"],["A","SWAP",9,1],["A","ADD",18,0,"1"],["A","ADD",17,0,"1"],["A","ADD",16,0,"1"],["A","ADD",15,0,"1"],["A","ADD",14,0,"1"],["A","ADD",13,0,"1"],["A","ADD",12,0,"1"],["A","ADD",11,0,"1"],["A","ADD",10,0,"1"],["A","ADD",8,0,"1"],["A","ADD",7,0,"1"],["A","ADD",6,0,"1"],["A","ADD",5,0,"1"],["A","ADD",4,0,"1"],["A","ADD",3,0,"1"],["A","ADD",2,0,"1"],["A","ADD",1,0,"1"],["A","LAMBDA",0,1],["A","ADD",19,20,"-1"],["A","IDLE_ONE",28,[9]],["A","SWAP",28,27],["A","SWAP",28,26],["A","SWAP",28,25],["A","SWAP",28,24],["A","SWAP",28,23],["A","SWAP",28,22],["A","SWAP",28,21],["A","ADD",19,20,"1"],["A","SCALE",20,"-1"],["A","SWAP",28,20],["A","ADD",37,19,"1"],["A","ADD",36,19,"1"],["A","ADD",35,19,"1"],["A","ADD",34,19,"1"],["A","ADD",33,19,"1"],["A","ADD",32,19,"1"],["A","ADD",31,19,"1"],["A","ADD",30,19,"1"],["A","ADD",29,19,"1"],["A","ADD",27,19,"1"],["A","ADD",26,19,"1"],["A","ADD",25,19,"1"],["A","ADD",24,19,"1"],["A","ADD",23,19,"1"],["A","ADD",22,19,"1"],["A","ADD",21,19,"1"],["A","ADD",20,19,"1"],["A","LAMBDA",19,1],["A","ADD",2,1,"-1"],["A","ADD",3,1,"-1"],["A","ADD",4,1,"-1"],["A","ADD",5,1,"-1"],["A","ADD",6,1,"-1"],["A","ADD",7,1,"-1"],["A","ADD",8,1,"-1"],["A","ADD",9,1,"-1"],["A","ADD",10,1,"-1"],["A","ADD",11,1,"-1"],["A","ADD",12,1,"-1"],["A","ADD",13,1,"-1"],["A","ADD",14,1,"-1"],["A","ADD",15,1,"-1"],["A","ADD",16,1,"-1"],["A","ADD",17,1,"-1"],["A","ADD",18,1,"-1"],["A","ADD",2,3,"-1"],["A","ADD",2,4,"1"],["A","ADD",2,5,"-1"],["A","ADD",2,6,"1"],["A","ADD",2,7,"-1"],["A","ADD",2,8,"1"],["A","ADD",2,9,"-1"],["A","ADD",2,10,"1"],["A","ADD",2,11,"-1"],["A","ADD",2,12,"1"],["A","ADD",2,13,"-1"],["A","ADD",2,14,"1"],["A","ADD",2,15,"-1"],["A","ADD",2,16,"1"],["A","ADD",2,17,"-1"],["A","ADD",2,18,"1"],["A","LAMBDA",2,1],["A","ADD",0,2,"-1"],["A","SWAP",0,1],["A","SWAP",19,1],["A","ADD",19,2,"1"],["A","LAMBDA",2,1],["A","LAMBDA",2,1],["A","LAMBDA",0,1],["A","LAMBDA",0,1],["A","ADD",1,0,"1"],["A","LAMBDA",0,-1],["A","LAMBDA",0,-1],["A","QUERY",0,19,-1],["A","LAMBDA",0,1],["A","LAMBDA",0,1],["A","ADD",1,0,"-1"],["A","LAMBDA",0,-1],["A","LAMBDA",0,-1],["A","QUERY",19,1,-1],["A","LAMBDA",0,1],["A","LAMBDA",0,1],["A","ADD",1,0,"1"],["A","LAMBDA",0,-1],["A","LAMBDA",0,-1],["A","LAMBDA",19,1],["A","LAMBDA",19,1],["A","ADD",2,19,"-1"],["A","LAMBDA",19,-1],["A","LAMBDA",19,-1],["A","QUERY",1,2,-1],["A","LAMBDA",19,1],["A","LAMBDA",19,1],["A","ADD",2,19,"1"],["A","LAMBDA",19,-1],["A","LAMBDA",19,-1],["A","LAMBDA",1,1],["A","LAMBDA",1,1],["A","ADD",0,1,"-1"],["A","LAMBDA",2,1],["A","LAMBDA",2,1],["A","LAMBDA",2,-1],["A","ADD",2,3,"1"],["A","ADD",2,4,"-1"],["A","ADD",2,5,"1"],["A","ADD",2,6,"-1"],["A","ADD",2,7,"1"],["A","ADD",2,8,"-1"],["A","ADD",2,9,"1"],["A","ADD",2,10,"-1"],["A","ADD",2,11,"1"],["A","ADD",2,12,"-1"],["A","ADD",2,13,"1"],["A","ADD",2,14,"-1"],["A","ADD",2,15,"1"],["A","ADD",2,16,"-1"],["A","ADD",2,17,"1"],["A","ADD",2,18,"-1"],["A","ADD",2,1,"1"],["A","ADD",3,1,"1"],["A","ADD",4,1,"1"],["A","ADD",5,1,"1"],["A","ADD",6,1,"1"],["A","ADD",7,1,"1"],["A","ADD",8,1,"1"],["A","ADD",9,1,"1"],["A","ADD",10,1,"1"],["A","ADD",11,1,"1"],["A","ADD",12,1,"1"],["A","ADD",13,1,"1"],["A","ADD",14,1,"1"],["A","ADD",15,1,"1"],["A","ADD",16,1,"1"],["A","ADD",17,1,"1"],["A","ADD",18,1,"1"],["A","ADD",1,18,"-1"],["A","ADD",1,17,"1"],["A","ADD",1,16,"-1"],["A","ADD",1,15,"1"],["A","ADD",1,14,"-1"],["A","ADD",1,13,"1"],["A","ADD",1,12,"-1"],["A","ADD",1,11,"1"],["A","ADD",1,10,"-1"],["A","ADD",1,9,"1"],["A","ADD",1,8,"-1"],["A","ADD",1,7,"1"],["A","ADD",1,6,"-1"],["A","ADD",1,5,"1"],["A","ADD",1,4,"-1"],["A","ADD",1,3,"1"],["A","ADD",1,2,"-1"],["A","SCALE",1,"-1"],["A","SCALE",0,"-1"],["A","ADD",18,0,"-1"],["A","ADD",17,0,"-1"],["A","ADD",16,0,"-1"],["A","ADD",15,0,"-1"],["A","ADD",14,0,"-1"],["A","ADD",13,0,"-1"],["A","ADD",12,0,"-1"],["A","ADD",11,0,"-1"],["A","ADD",10,0,"-1"],["A","ADD",9,0,"-1"],["A","ADD",8,0,"-1"],["A","ADD",7,0,"-1"],["A","ADD",6,0,"-1"],["A","ADD",5,0,"-1"],["A","ADD",4,0,"-1"],["A","ADD",3,0,"-1"],["A","ADD",2,0,"-1"],["A","LAMBDA",0,-1],["A","LAMBDA",0,1],["A","ADD",1,18,"-1"],["A","ADD",0,18,"-1"],["A","ADD",1,17,"1"],["A","ADD",0,17,"1"],["A","ADD",1,16,"-1"],["A","ADD",0,16,"-1"],["A","ADD",1,15,"1"],["A","ADD",0,15,"1"],["A","ADD",1,14,"-1"],["A","ADD",0,14,"-1"],["A","ADD",1,13,"1"],["A","ADD",0,13,"1"],["A","ADD",1,12,"-1"],["A","ADD",0,12,"-1"],["A","ADD",1,11,"1"],["A","ADD",0,11,"1"],["A","ADD",1,10,"-1"],["A","SCALE",10,"-1"],["A","ADD",1,9,"1"],["A","ADD",0,9,"1"],["A","SWAP",18,9],["A","ADD",1,8,"-1"],["A","ADD",0,8,"-1"],["A","SWAP",17,8],["A","ADD",1,7,"1"],["A","ADD",0,7,"1"],["A","SWAP",16,7],["A","ADD",1,6,"-1"],["A","ADD",0,6,"-1"],["A","SWAP",15,6],["A","ADD",1,5,"1"],["A","ADD",0,5,"1"],["A","SWAP",14,5],["A","ADD",1,4,"-1"],["A","ADD",0,4,"-1"],["A","SWAP",13,4],["A","ADD",1,3,"1"],["A","ADD",0,3,"1"],["A","SWAP",12,3],["A","ADD",1,2,"-1"],["A","ADD",0,2,"-1"],["A","SWAP",11,2],["A","ADD",0,1,"-1"],["A","SCALE",1,"-1"],["A","SWAP",10,1],["A","SWAP",1,0],["A","ADD",0,1,"2"],["A","LAMBDA",0,-1],["A","ADD",20,37,"-1"],["A","ADD",20,36,"1"],["A","ADD",20,35,"-1"],["A","ADD",20,34,"1"],["A","ADD",20,33,"-1"],["A","ADD",20,32,"1"],["A","ADD",20,31,"-1"],["A","ADD",20,30,"1"],["A","ADD",20,29,"-1"],["A","ADD",20,28,"1"],["A","ADD",20,27,"-1"],["A","ADD",20,26,"1"],["A","ADD",20,25,"-1"],["A","ADD",20,24,"1"],["A","ADD",20,23,"-1"],["A","ADD",20,22,"1"],["A","ADD",20,21,"-1"],["A","SCALE",20,"-1"],["A","SCALE",19,"-1"],["A","ADD",37,19,"-1"],["A","ADD",36,19,"-1"],["A","ADD",35,19,"-1"],["A","ADD",34,19,"-1"],["A","ADD",33,19,"-1"],["A","ADD",32,19,"-1"],["A","ADD",31,19,"-1"],["A","ADD",30,19,"-1"],["A","ADD",29,19,"-1"],["A","ADD",28,19,"-1"],["A","ADD",27,19,"-1"],["A","ADD",26,19,"-1"],["A","ADD",25,19,"-1"],["A","ADD",24,19,"-1"],["A","ADD",23,19,"-1"],["A","ADD",22,19,"-1"],["A","ADD",21,19,"-1"],["A","LAMBDA",19,-1],["A","QUERY",19,20,-1],["A","LAMBDA",19,1],["A","ADD",20,37,"-1"],["A","ADD",19,37,"-1"],["A","ADD",20,36,"1"],["A","ADD",19,36,"1"],["A","ADD",20,35,"-1"],["A","ADD",19,35,"-1"],["A","ADD",20,34,"1"],["A","ADD",19,34,"1"],["A","ADD",20,33,"-1"],["A","ADD",19,33,"-1"],["A","ADD",20,32,"1"],["A","ADD",19,32,"1"],["A","ADD",20,31,"-1"],["A","ADD",19,31,"-1"],["A","ADD",20,30,"1"],["A","ADD",19,30,"1"],["A","ADD",20,29,"-1"],["A","SCALE",29,"-1"],["A","ADD",20,28,"1"],["A","ADD",19,28,"1"],["A","SWAP",37,28],["A","ADD",20,27,"-1"],["A","ADD",19,27,"-1"],["A","SWAP",36,27],["A","ADD",20,26,"1"],["A","ADD",19,26,"1"],["A","SWAP",35,26],["A","ADD",20,25,"-1"],["A","ADD",19,25,"-1"],["A","SWAP",34,25],["A","ADD",20,24,"1"],["A","ADD",19,24,"1"],["A","SWAP",33,24],["A","ADD",20,23,"-1"],["A","ADD",19,23,"-1"],["A","SWAP",32,23],["A","ADD",20,22,"1"],["A","ADD",19,22,"1"],["A","SWAP",31,22],["A","ADD",20,21,"-1"],["A","ADD",19,21,"-1"],["A","SWAP",30,21],["A","ADD",19,20,"-1"],["A","SCALE",20,"-1"],["A","SWAP",29,20],["A","SCALE",19,"-1"],["A","SWAP",20,19],["A","ADD",19,20,"-2"],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",54,[9]],["B","IDLE_ONE",55,[9]],["B","IDLE_ONE",56,[9]],["B","IDLE_ONE",57,[9]],["B","ADD",56,75,"1"],["B","ADD",55,75,"1"],["B","ADD",53,75,"1"],["B","ADD",51,75,"1"],["B","ADD",49,75,"1"],["B","ADD",47,75,"1"],["B","ADD",45,75,"1"],["B","ADD",43,75,"1"],["B","ADD",41,75,"1"],["B","ADD",39,75,"-128"],["B","ADD",38,75,"64"],["B","ADD",56,73,"-1"],["B","ADD",55,73,"-1"],["B","ADD",53,73,"-1"],["B","ADD",51,73,"-1"],["B","ADD",49,73,"-1"],["B","ADD",47,73,"-1"],["B","ADD",45,73,"-1"],["B","ADD",43,73,"-1"],["B","ADD",41,73,"-1"],["B","ADD",39,73,"128"],["B","ADD",38,73,"-64"],["B","ADD",56,72,"2"],["B","ADD",55,72,"2"],["B","ADD",53,72,"2"],["B","ADD",51,72,"2"],["B","ADD",49,72,"2"],["B","ADD",47,72,"2"],["B","ADD",45,72,"2"],["B","ADD",43,72,"2"],["B","ADD",41,72,"2"],["B","ADD",39,72,"-256"],["B","ADD",38,72,"128"],["B","ADD",56,71,"-1"],["B","ADD",55,71,"-1"],["B","ADD",53,71,"-1"],["B","ADD",51,71,"-1"],["B","ADD",49,71,"-1"],["B","ADD",47,71,"-1"],["B","ADD",45,71,"-1"],["B","ADD",43,71,"-1"],["B","ADD",41,71,"-1"],["B","ADD",39,71,"128"],["B","ADD",38,71,"-64"],["B","ADD",56,69,"1"],["B","ADD",55,69,"1"],["B","ADD",53,69,"1"],["B","ADD",51,69,"1"],["B","ADD",49,69,"1"],["B","ADD",47,69,"1"],["B","ADD",45,69,"1"],["B","ADD",43,69,"1"],["B","ADD",41,69,"1"],["B","ADD",39,69,"-128"],["B","ADD",38,69,"64"],["B","ADD",56,68,"-2"],["B","ADD",55,68,"-2"],["B","ADD",53,68,"-2"],["B","ADD",51,68,"-2"],["B","ADD",49,68,"-2"],["B","ADD",47,68,"-2"],["B","ADD",45,68,"-2"],["B","ADD",43,68,"-2"],["B","ADD",41,68,"-2"],["B","ADD",39,68,"256"],["B","ADD",38,68,"-128"],["B","ADD",56,67,"1"],["B","ADD",55,67,"1"],["B","ADD",53,67,"1"],["B","ADD",51,67,"1"],["B","ADD",49,67,"1"],["B","ADD",47,67,"1"],["B","ADD",45,67,"1"],["B","ADD",43,67,"1"],["B","ADD",41,67,"1"],["B","ADD",39,67,"-128"],["B","ADD",38,67,"64"],["B","ADD",56,65,"-1"],["B","ADD",55,65,"-1"],["B","ADD",53,65,"-1"],["B","ADD",51,65,"-1"],["B","ADD",49,65,"-1"],["B","ADD",47,65,"-1"],["B","ADD",45,65,"-1"],["B","ADD",43,65,"-1"],["B","ADD",41,65,"-1"],["B","ADD",39,65,"128"],["B","ADD",38,65,"-64"],["B","ADD",56,64,"2"],["B","ADD",55,64,"2"],["B","ADD",53,64,"2"],["B","ADD",51,64,"2"],["B","ADD",49,64,"2"],["B","ADD",47,64,"2"],["B","ADD",45,64,"2"],["B","ADD",43,64,"2"],["B","ADD",41,64,"2"],["B","ADD",39,64,"-256"],["B","ADD",38,64,"128"],["B","ADD",56,63,"-1"],["B","ADD",55,63,"-1"],["B","ADD",53,63,"-1"],["B","ADD",51,63,"-1"],["B","ADD",49,63,"-1"],["B","ADD",47,63,"-1"],["B","ADD",45,63,"-1"],["B","ADD",43,63,"-1"],["B","ADD",41,63,"-1"],["B","ADD",39,63,"128"],["B","ADD",38,63,"-64"],["B","ADD",56,61,"1"],["B","ADD",55,61,"1"],["B","ADD",53,61,"1"],["B","ADD",51,61,"1"],["B","ADD",49,61,"1"],["B","ADD",47,61,"1"],["B","ADD",45,61,"1"],["B","ADD",43,61,"1"],["B","ADD",41,61,"1"],["B","ADD",39,61,"-128"],["B","ADD",38,61,"64"],["B","ADD",56,60,"-2"],["B","ADD",55,60,"-2"],["B","ADD",53,60,"-2"],["B","ADD",51,60,"-2"],["B","ADD",49,60,"-2"],["B","ADD",47,60,"-2"],["B","ADD",45,60,"-2"],["B","ADD",43,60,"-2"],["B","ADD",41,60,"-2"],["B","ADD",39,60,"256"],["B","ADD",38,60,"-128"],["B","ADD",56,59,"1"],["B","ADD",55,59,"1"],["B","ADD",53,59,"1"],["B","ADD",51,59,"1"],["B","ADD",49,59,"1"],["B","ADD",47,59,"1"],["B","ADD",45,59,"1"],["B","ADD",43,59,"1"],["B","ADD",41,59,"1"],["B","ADD",39,59,"-128"],["B","ADD",38,59,"64"],["B","ADD",39,57,"256"],["B","ADD",38,57,"-128"],["B","ADD",55,56,"-3/2"],["B","ADD",53,56,"-1"],["B","ADD",51,56,"-1"],["B","ADD",49,56,"-1"],["B","ADD",47,56,"-1"],["B","ADD",45,56,"-1"],["B","ADD",43,56,"-1"],["B","ADD",41,56,"-1"],["B","ADD",39,56,"128"],["B","ADD",38,56,"-64"],["B","SCALE",56,"1/2"],["B","ADD",53,55,"-1"],["B","ADD",51,55,"-1"],["B","ADD",49,55,"-1"],["B","ADD",47,55,"-1"],["B","ADD",45,55,"-1"],["B","ADD",43,55,"-1"],["B","ADD",41,55,"-1"],["B","ADD",39,55,"128"],["B","ADD",38,55,"64"],["B","SCALE",55,"-1"],["B","ADD",57,55,"1"],["B","SWAP",55,56],["B","ADD",53,54,"1/2"],["B","ADD",51,54,"1/2"],["B","ADD",49,54,"1/2"],["B","ADD",47,54,"1/2"],["B","ADD",45,54,"1/2"],["B","ADD",43,54,"1/2"],["B","ADD",41,54,"1/2"],["B","ADD",39,54,"-64"],["B","ADD",38,54,"-32"],["B","ADD",57,54,"1/2"],["B","ADD",56,54,"1/2"],["B","ADD",55,54,"1/2"],["B","ADD",51,52,"-1/2"],["B","ADD",49,52,"-1/2"],["B","ADD",47,52,"-1/2"],["B","ADD",45,52,"-1/2"],["B","ADD",43,52,"-1/2"],["B","ADD",41,52,"-1/2"],["B","ADD",39,52,"64"],["B","ADD",38,52,"32"],["B","ADD",57,52,"-1/2"],["B","ADD",56,52,"-1/2"],["B","ADD",55,52,"-1/2"],["B","ADD",53,52,"-1/2"],["B","ADD",49,51,"-1"],["B","ADD",47,51,"-2"],["B","ADD",45,51,"-1"],["B","ADD",43,51,"-1"],["B","ADD",41,51,"-1"],["B","ADD",39,51,"128"],["B","ADD",38,51,"64"],["B","ADD",57,51,"-1"],["B","ADD",56,51,"-1"],["B","ADD",55,51,"-1"],["B","ADD",53,51,"-1"],["B","ADD",47,50,"1/2"],["B","ADD",51,50,"-1/2"],["B","ADD",47,49,"-1"],["B","ADD",45,49,"-1"],["B","ADD",43,49,"-1"],["B","ADD",41,49,"-1"],["B","ADD",39,49,"128"],["B","ADD",38,49,"64"],["B","SCALE",49,"-1"],["B","ADD",57,49,"1"],["B","ADD",56,49,"1"],["B","ADD",55,49,"1"],["B","ADD",53,49,"1"],["B","SWAP",49,51],["B","ADD",47,48,"-1/2"],["B","ADD",49,48,"1/2"],["B","ADD",45,47,"-1"],["B","ADD",43,47,"-1"],["B","ADD",41,47,"-1"],["B","ADD",39,47,"128"],["B","ADD",38,47,"64"],["B","SCALE",47,"-1"],["B","ADD",57,47,"1"],["B","ADD",56,47,"1"],["B","ADD",55,47,"1"],["B","ADD",53,47,"1"],["B","ADD",51,47,"1"],["B","SWAP",47,49],["B","ADD",45,46,"1/2"],["B","ADD",43,46,"1/2"],["B","ADD",41,46,"1/2"],["B","ADD",39,46,"-64"],["B","ADD",38,46,"-32"],["B","ADD",57,46,"1/2"],["B","ADD",56,46,"1/2"],["B","ADD",55,46,"1/2"],["B","ADD",53,46,"1/2"],["B","ADD",51,46,"1/2"],["B","ADD",49,46,"1/2"],["B","ADD",47,46,"1/2"],["B","ADD",43,44,"-1/2"],["B","ADD",41,44,"-1/2"],["B","ADD",39,44,"64"],["B","ADD",38,44,"32"],["B","ADD",57,44,"-1/2"],["B","ADD",56,44,"-1/2"],["B","ADD",55,44,"-1/2"],["B","ADD",53,44,"-1/2"],["B","ADD",51,44,"-1/2"],["B","ADD",49,44,"-1/2"],["B","ADD",47,44,"-1/2"],["B","ADD",45,44,"-1/2"],["B","ADD",41,43,"-1"],["B","ADD",39,43,"128"],["B","ADD",38,43,"64"],["B","SCALE",43,"2"],["B","ADD",57,43,"-1/2"],["B","ADD",56,43,"-1/2"],["B","ADD",55,43,"-1/2"],["B","ADD",53,43,"-1/2"],["B","ADD",51,43,"-1/2"],["B","ADD",49,43,"-1/2"],["B","ADD",47,43,"-1/2"],["B","ADD",45,43,"-1/2"],["B","ADD",43,42,"-1"],["B","ADD",39,41,"128"],["B","ADD",38,41,"64"],["B","SCALE",41,"-1"],["B","ADD",57,41,"1"],["B","ADD",56,41,"1"],["B","ADD",55,41,"1"],["B","ADD",53,41,"1"],["B","ADD",51,41,"1"],["B","ADD",49,41,"1"],["B","ADD",47,41,"1"],["B","ADD",45,41,"1"],["B","SWAP",41,43],["B","ADD",41,40,"1"],["B","ADD",38,39,"-1/2"],["B","SCALE",39,"1/128"],["B","ADD",57,39,"1"],["B","ADD",56,39,"1"],["B","ADD",55,39,"1"],["B","ADD",53,39,"1"],["B","ADD",51,39,"1"],["B","ADD",49,39,"1"],["B","ADD",47,39,"1"],["B","ADD",45,39,"1"],["B","ADD",43,39,"1"],["B","SWAP",39,41],["B","SCALE",38,"1/128"],["B","ADD",57,38,"2"],["B","ADD",56,38,"2"],["B","ADD",55,38,"1"],["B","ADD",53,38,"1"],["B","ADD",51,38,"1"],["B","ADD",49,38,"1"],["B","ADD",47,38,"1"],["B","ADD",45,38,"1"],["B","ADD",43,38,"1"],["B","ADD",41,38,"1"],["B","ADD",39,38,"1"],["B","LAMBDA",38,-1],["B","QUERY",38,39,-1],["B","LAMBDA",38,1],["B","ADD",38,39,"-1"],["B","ADD",39,75,"-1"],["B","ADD",39,73,"1"],["B","ADD",39,72,"-2"],["B","ADD",39,71,"1"],["B","ADD",39,69,"-1"],["B","ADD",39,68,"2"],["B","ADD",39,67,"-1"],["B","ADD",39,65,"1"],["B","ADD",39,64,"-2"],["B","ADD",39,63,"1"],["B","ADD",39,61,"-1"],["B","ADD",39,60,"2"],["B","ADD",39,59,"-1"],["B","ADD",39,56,"-1"],["B","ADD",39,55,"2"],["B","ADD",39,54,"-1"],["B","ADD",39,52,"1"],["B","ADD",39,51,"-2"],["B","ADD",39,50,"1"],["B","ADD",39,48,"-1"],["B","ADD",39,47,"2"],["B","ADD",39,46,"-1"],["B","ADD",39,44,"1"],["B","ADD",39,43,"-2"],["B","ADD",39,42,"1"],["B","ADD",39,40,"-1"],["B","ADD",38,39,"-1"],["B","ADD",57,39,"-1"],["B","ADD",56,39,"-2"],["B","ADD",55,39,"-1"],["B","ADD",54,39,"-2"],["B","ADD",53,39,"-1"],["B","ADD",52,39,"-2"],["B","ADD",51,39,"-1"],["B","ADD",50,39,"-2"],["B","ADD",49,39,"-1"],["B","ADD",48,39,"-2"],["B","ADD",47,39,"-1"],["B","ADD",46,39,"-2"],["B","ADD",45,39,"-1"],["B","ADD",44,39,"-2"],["B","ADD",43,39,"-1"],["B","ADD",42,39,"-2"],["B","ADD",41,39,"-1"],["B","ADD",40,39,"-2"],["B","SCALE",38,"1/2"],["B","ADD",74,38,"-1"],["B","ADD",72,38,"-1"],["B","ADD",70,38,"-1"],["B","ADD",68,38,"-1"],["B","ADD",66,38,"-1"],["B","ADD",64,38,"-1"],["B","ADD",62,38,"-1"],["B","ADD",60,38,"-1"],["B","ADD",58,38,"-1"],["B","ADD",57,38,"-1"],["B","ADD",56,38,"-2"],["B","ADD",55,38,"-1"],["B","ADD",54,38,"-2"],["B","ADD",53,38,"-1"],["B","ADD",52,38,"-2"],["B","ADD",51,38,"-1"],["B","ADD",50,38,"-2"],["B","ADD",49,38,"-1"],["B","ADD",48,38,"-2"],["B","ADD",47,38,"-1"],["B","ADD",46,38,"-2"],["B","ADD",45,38,"-1"],["B","ADD",44,38,"-2"],["B","ADD",43,38,"-1"],["B","ADD",42,38,"-2"],["B","ADD",41,38,"-1"],["B","ADD",40,38,"-2"],["B","ADD",39,38,"1"],["B","LAMBDA",38,-1],["B","QUERY",38,39,-1],["B","LAMBDA",38,1],["B","ADD",38,39,"-1"],["B","SCALE",38,"2"],["B","ADD",75,38,"-1"],["B","ADD",74,38,"-1/2"],["B","ADD",73,38,"-1"],["B","ADD",72,38,"-1/2"],["B","ADD",71,38,"-1"],["B","ADD",70,38,"-1/2"],["B","ADD",69,38,"-1"],["B","ADD",68,38,"-1/2"],["B","ADD",67,38,"-1"],["B","ADD",66,38,"-1/2"],["B","ADD",65,38,"-1"],["B","ADD",64,38,"-1/2"],["B","ADD",63,38,"-1"],["B","ADD",62,38,"-1/2"],["B","ADD",61,38,"-1"],["B","ADD",60,38,"-1/2"],["B","ADD",59,38,"-1"],["B","ADD",58,38,"-1/2"],["B","ADD",57,38,"-1/2"],["B","ADD",55,38,"-1/2"],["B","ADD",53,38,"-1/2"],["B","ADD",51,38,"-1/2"],["B","ADD",49,38,"-1/2"],["B","ADD",47,38,"-1/2"],["B","ADD",45,38,"-1/2"],["B","ADD",43,38,"-1/2"],["B","ADD",41,38,"-1/2"],["B","ADD",39,38,"1/2"],["B","LAMBDA",38,-1],["B","QUERY",38,39,-1],["B","LAMBDA",38,1],["B","ADD",38,39,"-1"],["B","ADD",74,75,"-1/2"],["B","ADD",73,75,"-1"],["B","ADD",72,75,"-1"],["B","ADD",71,75,"-1"],["B","ADD",70,75,"-1"],["B","ADD",69,75,"-1"],["B","ADD",68,75,"-1"],["B","ADD",67,75,"-1"],["B","ADD",66,75,"-1"],["B","ADD",65,75,"-1"],["B","ADD",64,75,"-1"],["B","ADD",63,75,"-1"],["B","ADD",62,75,"-1"],["B","ADD",61,75,"-1"],["B","ADD",60,75,"-1"],["B","ADD",59,75,"-1"],["B","ADD",58,75,"-1"],["B","ADD",56,75,"1"],["B","ADD",54,75,"1"],["B","ADD",52,75,"1"],["B","ADD",50,75,"1"],["B","ADD",48,75,"1"],["B","ADD",46,75,"1"],["B","ADD",44,75,"1"],["B","ADD",42,75,"1"],["B","ADD",40,75,"1"],["B","ADD",38,75,"1"],["B","SCALE",75,"-1/2"],["B","ADD",73,74,"2"],["B","ADD",72,74,"2"],["B","ADD",71,74,"2"],["B","ADD",70,74,"2"],["B","ADD",69,74,"2"],["B","ADD",68,74,"2"],["B","ADD",67,74,"2"],["B","ADD",66,74,"2"],["B","ADD",65,74,"2"],["B","ADD",64,74,"2"],["B","ADD",63,74,"2"],["B","ADD",62,74,"2"],["B","ADD",61,74,"2"],["B","ADD",60,74,"2"],["B","ADD",59,74,"2"],["B","ADD",58,74,"2"],["B","ADD",56,74,"-2"],["B","ADD",54,74,"-2"],["B","ADD",52,74,"-2"],["B","ADD",50,74,"-2"],["B","ADD",48,74,"-2"],["B","ADD",46,74,"-2"],["B","ADD",44,74,"-2"],["B","ADD",42,74,"-2"],["B","ADD",40,74,"-2"],["B","ADD",38,74,"-2"],["B","SCALE",74,"2"],["B","ADD",75,74,"3/2"],["B","SWAP",74,75],["B","ADD",71,72,"-1/2"],["B","ADD",70,72,"-1"],["B","ADD",69,72,"-1"],["B","ADD",68,72,"-1"],["B","ADD",67,72,"-1"],["B","ADD",66,72,"-1"],["B","ADD",65,72,"-1"],["B","ADD",64,72,"-1"],["B","ADD",63,72,"-1"],["B","ADD",62,72,"-1"],["B","ADD",61,72,"-1"],["B","ADD",60,72,"-1"],["B","ADD",59,72,"-1"],["B","ADD",58,72,"-1"],["B","ADD",56,72,"1"],["B","ADD",54,72,"1"],["B","ADD",52,72,"1"],["B","ADD",50,72,"1"],["B","ADD",48,72,"1"],["B","ADD",46,72,"1"],["B","ADD",44,72,"1"],["B","ADD",42,72,"1"],["B","ADD",40,72,"1"],["B","ADD",38,72,"1"],["B","SCALE",72,"-1/2"],["B","ADD",75,72,"2"],["B","ADD",74,72,"2"],["B","ADD",73,72,"2"],["B","ADD",70,71,"2"],["B","ADD",69,71,"2"],["B","ADD",68,71,"2"],["B","ADD",67,71,"2"],["B","ADD",66,71,"2"],["B","ADD",65,71,"2"],["B","ADD",64,71,"2"],["B","ADD",63,71,"2"],["B","ADD",62,71,"2"],["B","ADD",61,71,"2"],["B","ADD",60,71,"2"],["B","ADD",59,71,"2"],["B","ADD",58,71,"2"],["B","ADD",56,71,"-2"],["B","ADD",54,71,"-2"],["B","ADD",52,71,"-2"],["B","ADD",50,71,"-2"],["B","ADD",48,71,"-2"],["B","ADD",46,71,"-2"],["B","ADD",44,71,"-2"],["B","ADD",42,71,"-2"],["B","ADD",40,71,"-2"],["B","ADD",38,71,"-2"],["B","SCALE",71,"2"],["B","ADD",75,71,"1"],["B","ADD",74,71,"1"],["B","ADD",73,71,"1"],["B","ADD",72,71,"3/2"],["B","SWAP",71,72],["B","ADD",69,70,"-1"],["B","ADD",68,70,"-1/2"],["B","ADD",67,70,"-1"],["B","ADD",66,70,"-1"],["B","ADD",65,70,"-1"],["B","ADD",64,70,"-1"],["B","ADD",63,70,"-1"],["B","ADD",62,70,"-1"],["B","ADD",61,70,"-1"],["B","ADD",60,70,"-1"],["B","ADD",59,70,"-1"],["B","ADD",58,70,"-1"],["B","ADD",56,70,"1"],["B","ADD",54,70,"1"],["B","ADD",52,70,"1"],["B","ADD",50,70,"1"],["B","ADD",48,70,"1"],["B","ADD",46,70,"1"],["B","ADD",44,70,"1"],["B","ADD",42,70,"1"],["B","ADD",40,70,"1"],["B","ADD",38,70,"1"],["B","SCALE",70,"-1/2"],["B","ADD",75,70,"2"],["B","ADD",74,70,"2"],["B","ADD",73,70,"2"],["B","ADD",72,70,"2"],["B","ADD",71,70,"2"],["B","ADD",68,69,"1/2"],["B","ADD",67,69,"-1"],["B","ADD",66,69,"-1"],["B","ADD",65,69,"-1"],["B","ADD",64,69,"-1"],["B","ADD",63,69,"-1"],["B","ADD",62,69,"-1"],["B","ADD",61,69,"-1"],["B","ADD",60,69,"-1"],["B","ADD",59,69,"-1"],["B","ADD",58,69,"-1"],["B","ADD",56,69,"1"],["B","ADD",54,69,"1"],["B","ADD",52,69,"1"],["B","ADD",50,69,"1"],["B","ADD",48,69,"1"],["B","ADD",46,69,"1"],["B","ADD",44,69,"1"],["B","ADD",42,69,"1"],["B","ADD",40,69,"1"],["B","ADD",38,69,"1"],["B","SCALE",69,"-1"],["B","ADD",75,69,"1"],["B","ADD",74,69,"1"],["B","ADD",73,69,"1"],["B","ADD",72,69,"1"],["B","ADD",71,69,"1"],["B","ADD",70,69,"3/2"],["B","SWAP",69,70],["B","ADD",67,68,"2"],["B","ADD",66,68,"2"],["B","ADD",65,68,"2"],["B","ADD",64,68,"2"],["B","ADD",63,68,"2"],["B","ADD",62,68,"2"],["B","ADD",61,68,"2"],["B","ADD",60,68,"2"],["B","ADD",59,68,"2"],["B","ADD",58,68,"2"],["B","ADD",56,68,"-2"],["B","ADD",54,68,"-2"],["B","ADD",52,68,"-2"],["B","ADD",50,68,"-2"],["B","ADD",48,68,"-2"],["B","ADD",46,68,"-2"],["B","ADD",44,68,"-2"],["B","ADD",42,68,"-2"],["B","ADD",40,68,"-2"],["B","ADD",38,68,"-2"],["B","SCALE",68,"2"],["B","ADD",75,68,"1"],["B","ADD",74,68,"1"],["B","ADD",73,68,"1"],["B","ADD",72,68,"1"],["B","ADD",71,68,"1"],["B","ADD",70,68,"1"],["B","ADD",69,68,"3/2"],["B","SWAP",68,69],["B","ADD",66,67,"-1/2"],["B","ADD",65,67,"-1"],["B","ADD",64,67,"-1"],["B","ADD",63,67,"-1"],["B","ADD",62,67,"-1"],["B","ADD",61,67,"-1"],["B","ADD",60,67,"-1"],["B","ADD",59,67,"-1"],["B","ADD",58,67,"-1"],["B","ADD",56,67,"1"],["B","ADD",54,67,"1"],["B","ADD",52,67,"1"],["B","ADD",50,67,"1"],["B","ADD",48,67,"1"],["B","ADD",46,67,"1"],["B","ADD",44,67,"1"],["B","ADD",42,67,"1"],["B","ADD",40,67,"1"],["B","ADD",38,67,"1"],["B","SCALE",67,"-1/2"],["B","ADD",75,67,"2"],["B","ADD",74,67,"2"],["B","ADD",73,67,"2"],["B","ADD",72,67,"2"],["B","ADD",71,67,"2"],["B","ADD",70,67,"2"],["B","ADD",69,67,"2"],["B","ADD",68,67,"2"],["B","ADD",65,66,"2"],["B","ADD",64,66,"2"],["B","ADD",63,66,"2"],["B","ADD",62,66,"2"],["B","ADD",61,66,"2"],["B","ADD",60,66,"2"],["B","ADD",59,66,"2"],["B","ADD",58,66,"2"],["B","ADD",56,66,"-2"],["B","ADD",54,66,"-2"],["B","ADD",52,66,"-2"],["B","ADD",50,66,"-2"],["B","ADD",48,66,"-2"],["B","ADD",46,66,"-2"],["B","ADD",44,66,"-2"],["B","ADD",42,66,"-2"],["B","ADD",40,66,"-2"],["B","ADD",38,66,"-2"],["B","SCALE",66,"2"],["B","ADD",75,66,"1"],["B","ADD",74,66,"1"],["B","ADD",73,66,"1"],["B","ADD",72,66,"1"],["B","ADD",71,66,"1"],["B","ADD",70,66,"1"],["B","ADD",69,66,"1"],["B","ADD",68,66,"1"],["B","ADD",67,66,"3/2"],["B","SWAP",66,67],["B","ADD",63,64,"-1/2"],["B","ADD",62,64,"-1"],["B","ADD",61,64,"-1"],["B","ADD",60,64,"-1"],["B","ADD",59,64,"-1"],["B","ADD",58,64,"-1"],["B","ADD",56,64,"1"],["B","ADD",54,64,"1"],["B","ADD",52,64,"1"],["B","ADD",50,64,"1"],["B","ADD",48,64,"1"],["B","ADD",46,64,"1"],["B","ADD",44,64,"1"],["B","ADD",42,64,"1"],["B","ADD",40,64,"1"],["B","ADD",38,64,"1"],["B","SCALE",64,"-1/2"],["B","ADD",75,64,"2"],["B","ADD",74,64,"2"],["B","ADD",73,64,"2"],["B","ADD",72,64,"2"],["B","ADD",71,64,"2"],["B","ADD",70,64,"2"],["B","ADD",69,64,"2"],["B","ADD",68,64,"2"],["B","ADD",67,64,"2"],["B","ADD",66,64,"2"],["B","ADD",65,64,"2"],["B","ADD",62,63,"2"],["B","ADD",61,63,"2"],["B","ADD",60,63,"2"],["B","ADD",59,63,"2"],["B","ADD",58,63,"2"],["B","ADD",56,63,"-2"],["B","ADD",54,63,"-2"],["B","ADD",52,63,"-2"],["B","ADD",50,63,"-2"],["B","ADD",48,63,"-2"],["B","ADD",46,63,"-2"],["B","ADD",44,63,"-2"],["B","ADD",42,63,"-2"],["B","ADD",40,63,"-2"],["B","ADD",38,63,"-2"],["B","SCALE",63,"2"],["B","ADD",75,63,"1"],["B","ADD",74,63,"1"],["B","ADD",73,63,"1"],["B","ADD",72,63,"1"],["B","ADD",71,63,"1"],["B","ADD",70,63,"1"],["B","ADD",69,63,"1"],["B","ADD",68,63,"1"],["B","ADD",67,63,"1"],["B","ADD",66,63,"1"],["B","ADD",65,63,"1"],["B","ADD",64,63,"3/2"],["B","SWAP",63,64],["B","ADD",61,62,"-1"],["B","ADD",60,62,"-1/2"],["B","ADD",59,62,"-1"],["B","ADD",58,62,"-1"],["B","ADD",56,62,"1"],["B","ADD",54,62,"1"],["B","ADD",52,62,"1"],["B","ADD",50,62,"1"],["B","ADD",48,62,"1"],["B","ADD",46,62,"1"],["B","ADD",44,62,"1"],["B","ADD",42,62,"1"],["B","ADD",40,62,"1"],["B","ADD",38,62,"1"],["B","SCALE",62,"-1/2"],["B","ADD",75,62,"2"],["B","ADD",74,62,"2"],["B","ADD",73,62,"2"],["B","ADD",72,62,"2"],["B","ADD",71,62,"2"],["B","ADD",70,62,"2"],["B","ADD",69,62,"2"],["B","ADD",68,62,"2"],["B","ADD",67,62,"2"],["B","ADD",66,62,"2"],["B","ADD",65,62,"2"],["B","ADD",64,62,"2"],["B","ADD",63,62,"2"],["B","ADD",60,61,"1/2"],["B","ADD",59,61,"-1"],["B","ADD",58,61,"-1"],["B","ADD",56,61,"1"],["B","ADD",54,61,"1"],["B","ADD",52,61,"1"],["B","ADD",50,61,"1"],["B","ADD",48,61,"1"],["B","ADD",46,61,"1"],["B","ADD",44,61,"1"],["B","ADD",42,61,"1"],["B","ADD",40,61,"1"],["B","ADD",38,61,"1"],["B","SCALE",61,"-1"],["B","ADD",75,61,"1"],["B","ADD",74,61,"1"],["B","ADD",73,61,"1"],["B","ADD",72,61,"1"],["B","ADD",71,61,"1"],["B","ADD",70,61,"1"],["B","ADD",69,61,"1"],["B","ADD",68,61,"1"],["B","ADD",67,61,"1"],["B","ADD",66,61,"1"],["B","ADD",65,61,"1"],["B","ADD",64,61,"1"],["B","ADD",63,61,"1"],["B","ADD",62,61,"3/2"],["B","SWAP",61,62],["B","ADD",59,60,"2"],["B","ADD",58,60,"2"],["B","ADD",56,60,"-2"],["B","ADD",54,60,"-2"],["B","ADD",52,60,"-2"],["B","ADD",50,60,"-2"],["B","ADD",48,60,"-2"],["B","ADD",46,60,"-2"],["B","ADD",44,60,"-2"],["B","ADD",42,60,"-2"],["B","ADD",40,60,"-2"],["B","ADD",38,60,"-2"],["B","SCALE",60,"2"],["B","ADD",75,60,"1"],["B","ADD",74,60,"1"],["B","ADD",73,60,"1"],["B","ADD",72,60,"1"],["B","ADD",71,60,"1"],["B","ADD",70,60,"1"],["B","ADD",69,60,"1"],["B","ADD",68,60,"1"],["B","ADD",67,60,"1"],["B","ADD",66,60,"1"],["B","ADD",65,60,"1"],["B","ADD",64,60,"1"],["B","ADD",63,60,"1"],["B","ADD",62,60,"1"],["B","ADD",61,60,"3/2"],["B","SWAP",60,61],["B","ADD",58,59,"-1/2"],["B","ADD",56,59,"1"],["B","ADD",54,59,"1"],["B","ADD",52,59,"1"],["B","ADD",50,59,"1"],["B","ADD",48,59,"1"],["B","ADD",46,59,"1"],["B","ADD",44,59,"1"],["B","ADD",42,59,"1"],["B","ADD",40,59,"1"],["B","ADD",38,59,"1"],["B","SCALE",59,"-1/2"],["B","ADD",75,59,"2"],["B","ADD",74,59,"2"],["B","ADD",73,59,"2"],["B","ADD",72,59,"2"],["B","ADD",71,59,"2"],["B","ADD",70,59,"2"],["B","ADD",69,59,"2"],["B","ADD",68,59,"2"],["B","ADD",67,59,"2"],["B","ADD",66,59,"2"],["B","ADD",65,59,"2"],["B","ADD",64,59,"2"],["B","ADD",63,59,"2"],["B","ADD",62,59,"2"],["B","ADD",61,59,"2"],["B","ADD",60,59,"2"],["B","ADD",56,58,"-2"],["B","ADD",54,58,"-2"],["B","ADD",52,58,"-2"],["B","ADD",50,58,"-2"],["B","ADD",48,58,"-2"],["B","ADD",46,58,"-2"],["B","ADD",44,58,"-2"],["B","ADD",42,58,"-2"],["B","ADD",40,58,"-2"],["B","ADD",38,58,"-2"],["B","SCALE",58,"2"],["B","ADD",75,58,"1"],["B","ADD",74,58,"1"],["B","ADD",73,58,"1"],["B","ADD",72,58,"1"],["B","ADD",71,58,"1"],["B","ADD",70,58,"1"],["B","ADD",69,58,"1"],["B","ADD",68,58,"1"],["B","ADD",67,58,"1"],["B","ADD",66,58,"1"],["B","ADD",65,58,"1"],["B","ADD",64,58,"1"],["B","ADD",63,58,"1"],["B","ADD",62,58,"1"],["B","ADD",61,58,"1"],["B","ADD",60,58,"1"],["B","ADD",59,58,"3/2"],["B","SWAP",58,59],["B","ADD",56,57,"-2"],["B","ADD",54,57,"-2"],["B","ADD",52,57,"-2"],["B","ADD",50,57,"-2"],["B","ADD",48,57,"-2"],["B","ADD",46,57,"-2"],["B","ADD",44,57,"-2"],["B","ADD",42,57,"-2"],["B","ADD",40,57,"-2"],["B","ADD",38,57,"-2"],["B","ADD",75,57,"2"],["B","ADD",74,57,"2"],["B","ADD",73,57,"2"],["B","ADD",72,57,"2"],["B","ADD",71,57,"2"],["B","ADD",70,57,"2"],["B","ADD",69,57,"2"],["B","ADD",68,57,"2"],["B","ADD",67,57,"2"],["B","ADD",66,57,"2"],["B","ADD",65,57,"2"],["B","ADD",64,57,"2"],["B","ADD",63,57,"2"],["B","ADD",62,57,"2"],["B","ADD",61,57,"2"],["B","ADD",60,57,"2"],["B","ADD",59,57,"2"],["B","ADD",58,57,"2"],["B","ADD",54,56,"-2"],["B","ADD",52,56,"-2"],["B","ADD",50,56,"-2"],["B","ADD",48,56,"-2"],["B","ADD",46,56,"-2"],["B","ADD",44,56,"-2"],["B","ADD",42,56,"-2"],["B","ADD",40,56,"-2"],["B","ADD",38,56,"-2"],["B","SCALE",56,"-1"],["B","ADD",75,56,"-2"],["B","ADD",74,56,"-2"],["B","ADD",73,56,"-2"],["B","ADD",72,56,"-2"],["B","ADD",71,56,"-2"],["B","ADD",70,56,"-2"],["B","ADD",69,56,"-2"],["B","ADD",68,56,"-2"],["B","ADD",67,56,"-2"],["B","ADD",66,56,"-2"],["B","ADD",65,56,"-2"],["B","ADD",64,56,"-2"],["B","ADD",63,56,"-2"],["B","ADD",62,56,"-2"],["B","ADD",61,56,"-2"],["B","ADD",60,56,"-2"],["B","ADD",59,56,"-2"],["B","ADD",58,56,"-2"],["B","ADD",54,55,"2"],["B","ADD",52,55,"2"],["B","ADD",50,55,"2"],["B","ADD",48,55,"2"],["B","ADD",46,55,"2"],["B","ADD",44,55,"2"],["B","ADD",42,55,"2"],["B","ADD",40,55,"2"],["B","ADD",38,55,"2"],["B","ADD",75,55,"-2"],["B","ADD",74,55,"-2"],["B","ADD",73,55,"-2"],["B","ADD",72,55,"-2"],["B","ADD",71,55,"-2"],["B","ADD",70,55,"-2"],["B","ADD",69,55,"-2"],["B","ADD",68,55,"-2"],["B","ADD",67,55,"-2"],["B","ADD",66,55,"-2"],["B","ADD",65,55,"-2"],["B","ADD",64,55,"-2"],["B","ADD",63,55,"-2"],["B","ADD",62,55,"-2"],["B","ADD",61,55,"-2"],["B","ADD",60,55,"-2"],["B","ADD",59,55,"-2"],["B","ADD",58,55,"-2"],["B","ADD",56,55,"2"],["B","ADD",52,53,"-2"],["B","ADD",50,53,"-2"],["B","ADD",48,53,"-2"],["B","ADD",46,53,"-2"],["B","ADD",44,53,"-2"],["B","ADD",42,53,"-2"],["B","ADD",40,53,"-2"],["B","ADD",38,53,"-2"],["B","ADD",75,53,"2"],["B","ADD",74,53,"2"],["B","ADD",73,53,"2"],["B","ADD",72,53,"2"],["B","ADD",71,53,"2"],["B","ADD",70,53,"2"],["B","ADD",69,53,"2"],["B","ADD",68,53,"2"],["B","ADD",67,53,"2"],["B","ADD",66,53,"2"],["B","ADD",65,53,"2"],["B","ADD",64,53,"2"],["B","ADD",63,53,"2"],["B","ADD",62,53,"2"],["B","ADD",61,53,"2"],["B","ADD",60,53,"2"],["B","ADD",59,53,"2"],["B","ADD",58,53,"2"],["B","ADD",56,53,"-2"],["B","ADD",54,53,"-2"],["B","ADD",50,52,"-2"],["B","ADD",48,52,"-2"],["B","ADD",46,52,"-2"],["B","ADD",44,52,"-2"],["B","ADD",42,52,"-2"],["B","ADD",40,52,"-2"],["B","ADD",38,52,"-2"],["B","SCALE",52,"-1"],["B","ADD",75,52,"-2"],["B","ADD",74,52,"-2"],["B","ADD",73,52,"-2"],["B","ADD",72,52,"-2"],["B","ADD",71,52,"-2"],["B","ADD",70,52,"-2"],["B","ADD",69,52,"-2"],["B","ADD",68,52,"-2"],["B","ADD",67,52,"-2"],["B","ADD",66,52,"-2"],["B","ADD",65,52,"-2"],["B","ADD",64,52,"-2"],["B","ADD",63,52,"-2"],["B","ADD",62,52,"-2"],["B","ADD",61,52,"-2"],["B","ADD",60,52,"-2"],["B","ADD",59,52,"-2"],["B","ADD",58,52,"-2"],["B","ADD",56,52,"2"],["B","ADD",54,52,"2"],["B","ADD",50,51,"2"],["B","ADD",48,51,"2"],["B","ADD",46,51,"2"],["B","ADD",44,51,"2"],["B","ADD",42,51,"2"],["B","ADD",40,51,"2"],["B","ADD",38,51,"2"],["B","ADD",75,51,"-2"],["B","ADD",74,51,"-2"],["B","ADD",73,51,"-2"],["B","ADD",72,51,"-2"],["B","ADD",71,51,"-2"],["B","ADD",70,51,"-2"],["B","ADD",69,51,"-2"],["B","ADD",68,51,"-2"],["B","ADD",67,51,"-2"],["B","ADD",66,51,"-2"],["B","ADD",65,51,"-2"],["B","ADD",64,51,"-2"],["B","ADD",63,51,"-2"],["B","ADD",62,51,"-2"],["B","ADD",61,51,"-2"],["B","ADD",60,51,"-2"],["B","ADD",59,51,"-2"],["B","ADD",58,51,"-2"],["B","ADD",56,51,"2"],["B","ADD",54,51,"2"],["B","ADD",52,51,"2"],["B","ADD",48,49,"-2"],["B","ADD",46,49,"-2"],["B","ADD",44,49,"-2"],["B","ADD",42,49,"-2"],["B","ADD",40,49,"-2"],["B","ADD",38,49,"-2"],["B","ADD",75,49,"2"],["B","ADD",74,49,"2"],["B","ADD",73,49,"2"],["B","ADD",72,49,"2"],["B","ADD",71,49,"2"],["B","ADD",70,49,"2"],["B","ADD",69,49,"2"],["B","ADD",68,49,"2"],["B","ADD",67,49,"2"],["B","ADD",66,49,"2"],["B","ADD",65,49,"2"],["B","ADD",64,49,"2"],["B","ADD",63,49,"2"],["B","ADD",62,49,"2"],["B","ADD",61,49,"2"],["B","ADD",60,49,"2"],["B","ADD",59,49,"2"],["B","ADD",58,49,"2"],["B","ADD",56,49,"-2"],["B","ADD",54,49,"-2"],["B","ADD",52,49,"-2"],["B","ADD",50,49,"-2"],["B","ADD",46,48,"-2"],["B","ADD",44,48,"-2"],["B","ADD",42,48,"-2"],["B","ADD",40,48,"-2"],["B","ADD",38,48,"-2"],["B","SCALE",48,"-1"],["B","ADD",75,48,"-2"],["B","ADD",74,48,"-2"],["B","ADD",73,48,"-2"],["B","ADD",72,48,"-2"],["B","ADD",71,48,"-2"],["B","ADD",70,48,"-2"],["B","ADD",69,48,"-2"],["B","ADD",68,48,"-2"],["B","ADD",67,48,"-2"],["B","ADD",66,48,"-2"],["B","ADD",65,48,"-2"],["B","ADD",64,48,"-2"],["B","ADD",63,48,"-2"],["B","ADD",62,48,"-2"],["B","ADD",61,48,"-2"],["B","ADD",60,48,"-2"],["B","ADD",59,48,"-2"],["B","ADD",58,48,"-2"],["B","ADD",56,48,"2"],["B","ADD",54,48,"2"],["B","ADD",52,48,"2"],["B","ADD",50,48,"2"],["B","ADD",46,47,"2"],["B","ADD",44,47,"2"],["B","ADD",42,47,"2"],["B","ADD",40,47,"2"],["B","ADD",38,47,"2"],["B","ADD",75,47,"-2"],["B","ADD",74,47,"-2"],["B","ADD",73,47,"-2"],["B","ADD",72,47,"-2"],["B","ADD",71,47,"-2"],["B","ADD",70,47,"-2"],["B","ADD",69,47,"-2"],["B","ADD",68,47,"-2"],["B","ADD",67,47,"-2"],["B","ADD",66,47,"-2"],["B","ADD",65,47,"-2"],["B","ADD",64,47,"-2"],["B","ADD",63,47,"-2"],["B","ADD",62,47,"-2"],["B","ADD",61,47,"-2"],["B","ADD",60,47,"-2"],["B","ADD",59,47,"-2"],["B","ADD",58,47,"-2"],["B","ADD",56,47,"2"],["B","ADD",54,47,"2"],["B","ADD",52,47,"2"],["B","ADD",50,47,"2"],["B","ADD",48,47,"2"],["B","ADD",44,45,"-2"],["B","ADD",42,45,"-2"],["B","ADD",40,45,"-2"],["B","ADD",38,45,"-2"],["B","ADD",75,45,"2"],["B","ADD",74,45,"2"],["B","ADD",73,45,"2"],["B","ADD",72,45,"2"],["B","ADD",71,45,"2"],["B","ADD",70,45,"2"],["B","ADD",69,45,"2"],["B","ADD",68,45,"2"],["B","ADD",67,45,"2"],["B","ADD",66,45,"2"],["B","ADD",65,45,"2"],["B","ADD",64,45,"2"],["B","ADD",63,45,"2"],["B","ADD",62,45,"2"],["B","ADD",61,45,"2"],["B","ADD",60,45,"2"],["B","ADD",59,45,"2"],["B","ADD",58,45,"2"],["B","ADD",56,45,"-2"],["B","ADD",54,45,"-2"],["B","ADD",52,45,"-2"],["B","ADD",50,45,"-2"],["B","ADD",48,45,"-2"],["B","ADD",46,45,"-2"],["B","ADD",42,44,"-2"],["B","ADD",40,44,"-2"],["B","ADD",38,44,"-2"],["B","SCALE",44,"-1"],["B","ADD",75,44,"-2"],["B","ADD",74,44,"-2"],["B","ADD",73,44,"-2"],["B","ADD",72,44,"-2"],["B","ADD",71,44,"-2"],["B","ADD",70,44,"-2"],["B","ADD",69,44,"-2"],["B","ADD",68,44,"-2"],["B","ADD",67,44,"-2"],["B","ADD",66,44,"-2"],["B","ADD",65,44,"-2"],["B","ADD",64,44,"-2"],["B","ADD",63,44,"-2"],["B","ADD",62,44,"-2"],["B","ADD",61,44,"-2"],["B","ADD",60,44,"-2"],["B","ADD",59,44,"-2"],["B","ADD",58,44,"-2"],["B","ADD",56,44,"2"],["B","ADD",54,44,"2"],["B","ADD",52,44,"2"],["B","ADD",50,44,"2"],["B","ADD",48,44,"2"],["B","ADD",46,44,"2"],["B","ADD",42,43,"2"],["B","ADD",40,43,"2"],["B","ADD",38,43,"2"],["B","ADD",75,43,"-2"],["B","ADD",74,43,"-2"],["B","ADD",73,43,"-2"],["B","ADD",72,43,"-2"],["B","ADD",71,43,"-2"],["B","ADD",70,43,"-2"],["B","ADD",69,43,"-2"],["B","ADD",68,43,"-2"],["B","ADD",67,43,"-2"],["B","ADD",66,43,"-2"],["B","ADD",65,43,"-2"],["B","ADD",64,43,"-2"],["B","ADD",63,43,"-2"],["B","ADD",62,43,"-2"],["B","ADD",61,43,"-2"],["B","ADD",60,43,"-2"],["B","ADD",59,43,"-2"],["B","ADD",58,43,"-2"],["B","ADD",56,43,"2"],["B","ADD",54,43,"2"],["B","ADD",52,43,"2"],["B","ADD",50,43,"2"],["B","ADD",48,43,"2"],["B","ADD",46,43,"2"],["B","ADD",44,43,"2"],["B","ADD",40,41,"-2"],["B","ADD",38,41,"-2"],["B","ADD",75,41,"2"],["B","ADD",74,41,"2"],["B","ADD",73,41,"2"],["B","ADD",72,41,"2"],["B","ADD",71,41,"2"],["B","ADD",70,41,"2"],["B","ADD",69,41,"2"],["B","ADD",68,41,"2"],["B","ADD",67,41,"2"],["B","ADD",66,41,"2"],["B","ADD",65,41,"2"],["B","ADD",64,41,"2"],["B","ADD",63,41,"2"],["B","ADD",62,41,"2"],["B","ADD",61,41,"2"],["B","ADD",60,41,"2"],["B","ADD",59,41,"2"],["B","ADD",58,41,"2"],["B","ADD",56,41,"-2"],["B","ADD",54,41,"-2"],["B","ADD",52,41,"-2"],["B","ADD",50,41,"-2"],["B","ADD",48,41,"-2"],["B","ADD",46,41,"-2"],["B","ADD",44,41,"-2"],["B","ADD",42,41,"-2"],["B","ADD",38,40,"-2"],["B","SCALE",40,"-1"],["B","ADD",75,40,"-2"],["B","ADD",74,40,"-2"],["B","ADD",73,40,"-2"],["B","ADD",72,40,"-2"],["B","ADD",71,40,"-2"],["B","ADD",70,40,"-2"],["B","ADD",69,40,"-2"],["B","ADD",68,40,"-2"],["B","ADD",67,40,"-2"],["B","ADD",66,40,"-2"],["B","ADD",65,40,"-2"],["B","ADD",64,40,"-2"],["B","ADD",63,40,"-2"],["B","ADD",62,40,"-2"],["B","ADD",61,40,"-2"],["B","ADD",60,40,"-2"],["B","ADD",59,40,"-2"],["B","ADD",58,40,"-2"],["B","ADD",56,40,"2"],["B","ADD",54,40,"2"],["B","ADD",52,40,"2"],["B","ADD",50,40,"2"],["B","ADD",48,40,"2"],["B","ADD",46,40,"2"],["B","ADD",44,40,"2"],["B","ADD",42,40,"2"],["B","SCALE",39,"-1"],["B","ADD",75,39,"-2"],["B","ADD",74,39,"-2"],["B","ADD",73,39,"-2"],["B","ADD",72,39,"-2"],["B","ADD",71,39,"-2"],["B","ADD",70,39,"-2"],["B","ADD",69,39,"-2"],["B","ADD",68,39,"-2"],["B","ADD",67,39,"-2"],["B","ADD",66,39,"-2"],["B","ADD",65,39,"-2"],["B","ADD",64,39,"-2"],["B","ADD",63,39,"-2"],["B","ADD",62,39,"-2"],["B","ADD",61,39,"-2"],["B","ADD",60,39,"-2"],["B","ADD",59,39,"-2"],["B","ADD",58,39,"-2"],["B","SCALE",38,"1/2"],["B","ADD",75,38,"2"],["B","ADD",74,38,"2"],["B","ADD",73,38,"2"],["B","ADD",72,38,"2"],["B","ADD",71,38,"2"],["B","ADD",70,38,"2"],["B","ADD",69,38,"2"],["B","ADD",68,38,"2"],["B","ADD",67,38,"2"],["B","ADD",66,38,"2"],["B","ADD",65,38,"2"],["B","ADD",64,38,"2"],["B","ADD",63,38,"2"],["B","ADD",62,38,"2"],["B","ADD",61,38,"2"],["B","ADD",60,38,"2"],["B","ADD",59,38,"2"],["B","ADD",58,38,"2"],["B","ADD",56,38,"-2"],["B","ADD",54,38,"-2"],["B","ADD",52,38,"-2"],["B","ADD",50,38,"-2"],["B","ADD",48,38,"-2"],["B","ADD",46,38,"-2"],["B","ADD",44,38,"-2"],["B","ADD",42,38,"-2"],["B","ADD",40,38,"-2"],["B","SWAP",38,39],["B","LAMBDA",38,-1],["B","QUERY",38,39,-1],["B","LAMBDA",38,1],["B","ADD",38,39,"-1"],["B","ADD",39,75,"1"],["B","ADD",72,74,"-1"],["B","ADD",70,74,"-1"],["B","ADD",68,74,"-1"],["B","ADD",66,74,"-1"],["B","ADD",64,74,"-1"],["B","ADD",62,74,"-1"],["B","ADD",58,74,"-1/2"],["B","ADD",39,74,"1"],["B","SWAP",73,75],["B","ADD",39,72,"1"],["B","SWAP",72,74],["B","ADD",39,71,"-1"],["B","ADD",39,70,"1"],["B","ADD",39,68,"-1"],["B","ADD",39,67,"1"],["B","ADD",39,66,"-1"],["B","SWAP",65,69],["B","ADD",39,64,"1"],["B","SWAP",64,68],["B","ADD",39,63,"-1"],["B","SWAP",63,71],["B","ADD",39,62,"1"],["B","SWAP",62,70],["B","SWAP",61,75],["B","ADD",39,60,"-1"],["B","SWAP",60,74],["B","ADD",58,59,"-1"],["B","ADD",38,59,"1"],["B","SCALE",59,"-2"],["B","ADD",75,59,"1"],["B","ADD",74,59,"1"],["B","SWAP",59,73],["B","SCALE",58,"-2"],["B","ADD",72,58,"-1"],["B","ADD",70,58,"1"],["B","ADD",68,58,"1"],["B","ADD",66,58,"1"],["B","ADD",64,58,"1"],["B","ADD",62,58,"1"],["B","ADD",60,58,"1"],["B","ADD",39,57,"-1"],["B","ADD",39,56,"1"],["B","ADD",39,55,"-1"],["B","ADD",39,53,"1"],["B","ADD",39,52,"-1"],["B","ADD",39,51,"1"],["B","ADD",39,49,"-1"],["B","ADD",39,48,"1"],["B","ADD",39,47,"-1"],["B","ADD",39,45,"1"],["B","ADD",39,44,"-1"],["B","ADD",39,43,"1"],["B","ADD",39,41,"-1"],["B","ADD",39,40,"1"],["B","ADD",38,39,"1"],["B","SCALE",39,"-128"],["B","ADD",72,39,"1/64"],["B","ADD",70,39,"-1/64"],["B","ADD",68,39,"-1/64"],["B","ADD",66,39,"-1/64"],["B","ADD",64,39,"-1/64"],["B","ADD",62,39,"-1/64"],["B","ADD",60,39,"-1/64"],["B","ADD",58,39,"-1/64"],["B","SCALE",38,"128"],["B","ADD",75,38,"1/32"],["B","ADD",74,38,"1/64"],["B","ADD",73,38,"1/32"],["B","ADD",72,38,"-1/64"],["B","SWAP",38,39],["B","LAMBDA",38,-1],["J",10,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",2,[10]],["A","IDLE_ONE",3,[10,11]],["A","IDLE_ONE",4,[10,11,12]],["A","IDLE_ONE",5,[10,11,12,13]],["A","IDLE_ONE",6,[10,11,12,13,14]],["A","IDLE_ONE",7,[10,11,12,13,14,15]],["A","IDLE_ONE",8,[10,11,12,13,14,15,16]],["A","IDLE_ONE",9,[10,11,12,13,14,15,16,17]],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","ADD",1,2,"-1"],["A","SCALE",2,"-1"],["A","SWAP",2,18],["A","SCALE",1,"-1"],["A","ADD",18,1,"2"],["A","ADD",18,0,"2"],["A","ADD",1,0,"1"],["A","SWAP",0,18],["A","LAMBDA",0,-1],["A","ADD",19,20,"-1"],["A","IDLE_ONE",21,[10]],["A","IDLE_ONE",22,[10,11]],["A","IDLE_ONE",23,[10,11,12]],["A","IDLE_ONE",24,[10,11,12,13]],["A","IDLE_ONE",25,[10,11,12,13,14]],["A","IDLE_ONE",26,[10,11,12,13,14,15]],["A","IDLE_ONE",27,[10,11,12,13,14,15,16]],["A","IDLE_ONE",28,[10,11,12,13,14,15,16,17]],["A","SWAP",36,37],["A","SWAP",35,37],["A","SWAP",34,37],["A","SWAP",33,37],["A","SWAP",32,37],["A","SWAP",31,37],["A","SWAP",30,37],["A","SWAP",29,37],["A","SWAP",28,37],["A","SWAP",27,37],["A","SWAP",26,37],["A","SWAP",25,37],["A","SWAP",24,37],["A","SWAP",23,37],["A","SWAP",22,37],["A","ADD",20,21,"-1"],["A","SCALE",21,"-1"],["A","SWAP",21,37],["A","ADD",37,20,"-2"],["A","ADD",37,19,"2"],["A","ADD",20,19,"-1"],["A","SWAP",19,37],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",58,[10,11,12,13,14,15,16,17]],["B","IDLE_ONE",59,[10,11,12,13,14,15,16,17]],["B","IDLE_ONE",60,[10,11,12,13,14,15,16]],["B","IDLE_ONE",61,[10,11,12,13,14,15,16]],["B","IDLE_ONE",62,[10,11,12,13,14,15]],["B","IDLE_ONE",63,[10,11,12,13,14,15]],["B","IDLE_ONE",64,[10,11,12,13,14]],["B","IDLE_ONE",65,[10,11,12,13,14]],["B","IDLE_ONE",66,[10,11,12,13]],["B","IDLE_ONE",67,[10,11,12,13]],["B","IDLE_ONE",68,[10,11,12]],["B","IDLE_ONE",69,[10,11,12]],["B","IDLE_ONE",70,[10,11]],["B","IDLE_ONE",71,[10,11]],["B","IDLE_ONE",72,[10]],["B","IDLE_ONE",73,[10]],["B","IDLE_ONE",74,[10]],["B","IDLE_ONE",75,[10]],["B","ADD",74,75,"-1/2"],["B","ADD",73,75,"-1"],["B","ADD",72,75,"1/2"],["B","ADD",39,75,"-64"],["B","SCALE",75,"1/4"],["B","ADD",72,74,"-2"],["B","SCALE",74,"2"],["B","ADD",75,74,"1/2"],["B","ADD",72,73,"3/2"],["B","ADD",39,73,"64"],["B","ADD",38,73,"64"],["B","SCALE",73,"2"],["B","ADD",75,73,"-5/8"],["B","ADD",74,73,"-3/2"],["B","SWAP",73,75],["B","ADD",38,72,"-64"],["B","ADD",74,72,"2"],["B","ADD",73,72,"3/2"],["B","SWAP",72,73],["B","SWAP",71,73],["B","SWAP",70,72],["B","SWAP",69,71],["B","SWAP",68,70],["B","SWAP",67,69],["B","SWAP",66,68],["B","SWAP",65,67],["B","SWAP",64,66],["B","SWAP",63,65],["B","SWAP",62,64],["B","SWAP",61,63],["B","SWAP",60,62],["B","SWAP",59,61],["B","SWAP",58,60],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",75,39,"1/32"],["B","ADD",74,39,"-1/64"],["B","ADD",59,39,"1/64"],["B","ADD",58,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",75,38,"-1/32"],["B","ADD",59,38,"-1/64"],["B","ADD",58,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",11,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","ADD",1,2,"-1"],["A","ADD",0,2,"-1"],["A","SCALE",2,"-1"],["A","SWAP",2,18],["A","ADD",0,1,"-1"],["A","SCALE",1,"-1"],["A","ADD",18,1,"2"],["A","ADD",18,0,"2"],["A","ADD",1,0,"1"],["A","SWAP",0,18],["A","LAMBDA",0,-1],["A","SWAP",36,37],["A","SWAP",35,37],["A","SWAP",34,37],["A","SWAP",33,37],["A","SWAP",32,37],["A","SWAP",31,37],["A","SWAP",30,37],["A","SWAP",29,37],["A","SWAP",28,37],["A","SWAP",27,37],["A","SWAP",26,37],["A","SWAP",25,37],["A","SWAP",24,37],["A","SWAP",23,37],["A","SWAP",22,37],["A","ADD",20,21,"-1"],["A","ADD",19,21,"-1"],["A","SCALE",21,"-1"],["A","SWAP",21,37],["A","ADD",19,20,"-1"],["A","ADD",37,20,"-2"],["A","ADD",37,19,"2"],["A","ADD",20,19,"-1"],["A","SWAP",19,37],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",74,[11]],["B","IDLE_ONE",75,[11]],["B","ADD",74,75,"1"],["B","ADD",72,75,"-1/4"],["B","ADD",39,75,"-64"],["B","SCALE",75,"-1/2"],["B","ADD",73,74,"1/2"],["B","ADD",72,74,"1/2"],["B","ADD",39,74,"64"],["B","ADD",38,74,"32"],["B","SWAP",74,75],["B","ADD",72,73,"-1/2"],["B","ADD",39,73,"-128"],["B","SCALE",73,"-1"],["B","ADD",75,73,"2"],["B","ADD",74,73,"-1"],["B","ADD",38,72,"128"],["B","SCALE",72,"-2"],["B","ADD",74,72,"1"],["B","ADD",73,72,"1"],["B","SWAP",71,73],["B","SWAP",70,72],["B","SWAP",69,71],["B","SWAP",68,70],["B","SWAP",67,69],["B","SWAP",66,68],["B","SWAP",65,67],["B","SWAP",64,66],["B","SWAP",63,65],["B","SWAP",62,64],["B","SWAP",61,63],["B","SWAP",60,62],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",75,39,"1/32"],["B","ADD",74,39,"-1/64"],["B","ADD",61,39,"1/64"],["B","ADD",60,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",75,38,"-1/32"],["B","ADD",61,38,"-1/64"],["B","ADD",60,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",12,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","ADD",1,2,"-1"],["A","ADD",0,2,"-1"],["A","SCALE",2,"-1"],["A","SWAP",2,18],["A","ADD",0,1,"-1"],["A","SCALE",1,"-1"],["A","ADD",18,1,"2"],["A","ADD",18,0,"2"],["A","ADD",1,0,"1"],["A","SWAP",0,18],["A","LAMBDA",0,-1],["A","SWAP",36,37],["A","SWAP",35,37],["A","SWAP",34,37],["A","SWAP",33,37],["A","SWAP",32,37],["A","SWAP",31,37],["A","SWAP",30,37],["A","SWAP",29,37],["A","SWAP",28,37],["A","SWAP",27,37],["A","SWAP",26,37],["A","SWAP",25,37],["A","SWAP",24,37],["A","SWAP",23,37],["A","SWAP",22,37],["A","ADD",20,21,"-1"],["A","ADD",19,21,"-1"],["A","SCALE",21,"-1"],["A","SWAP",21,37],["A","ADD",19,20,"-1"],["A","ADD",37,20,"-2"],["A","ADD",37,19,"2"],["A","ADD",20,19,"-1"],["A","SWAP",19,37],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",74,[12]],["B","IDLE_ONE",75,[12]],["B","ADD",74,75,"1"],["B","ADD",72,75,"-1/4"],["B","ADD",39,75,"-64"],["B","SCALE",75,"-1/2"],["B","ADD",73,74,"1/2"],["B","ADD",72,74,"1/2"],["B","ADD",39,74,"64"],["B","ADD",38,74,"32"],["B","SWAP",74,75],["B","ADD",72,73,"-1/2"],["B","ADD",39,73,"-128"],["B","SCALE",73,"-1"],["B","ADD",75,73,"2"],["B","ADD",74,73,"-1"],["B","ADD",38,72,"128"],["B","SCALE",72,"-2"],["B","ADD",74,72,"1"],["B","ADD",73,72,"1"],["B","SWAP",71,73],["B","SWAP",70,72],["B","SWAP",69,71],["B","SWAP",68,70],["B","SWAP",67,69],["B","SWAP",66,68],["B","SWAP",65,67],["B","SWAP",64,66],["B","SWAP",63,65],["B","SWAP",62,64],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",75,39,"1/32"],["B","ADD",74,39,"-1/64"],["B","ADD",63,39,"1/64"],["B","ADD",62,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",75,38,"-1/32"],["B","ADD",63,38,"-1/64"],["B","ADD",62,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",13,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","ADD",1,2,"-1"],["A","ADD",0,2,"-1"],["A","SCALE",2,"-1"],["A","SWAP",2,18],["A","ADD",0,1,"-1"],["A","SCALE",1,"-1"],["A","ADD",18,1,"2"],["A","ADD",18,0,"2"],["A","ADD",1,0,"1"],["A","SWAP",0,18],["A","LAMBDA",0,-1],["A","SWAP",36,37],["A","SWAP",35,37],["A","SWAP",34,37],["A","SWAP",33,37],["A","SWAP",32,37],["A","SWAP",31,37],["A","SWAP",30,37],["A","SWAP",29,37],["A","SWAP",28,37],["A","SWAP",27,37],["A","SWAP",26,37],["A","SWAP",25,37],["A","SWAP",24,37],["A","SWAP",23,37],["A","SWAP",22,37],["A","ADD",20,21,"-1"],["A","ADD",19,21,"-1"],["A","SCALE",21,"-1"],["A","SWAP",21,37],["A","ADD",19,20,"-1"],["A","ADD",37,20,"-2"],["A","ADD",37,19,"2"],["A","ADD",20,19,"-1"],["A","SWAP",19,37],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",74,[13]],["B","IDLE_ONE",75,[13]],["B","ADD",74,75,"1"],["B","ADD",72,75,"-1/4"],["B","ADD",39,75,"-64"],["B","SCALE",75,"-1/2"],["B","ADD",73,74,"1/2"],["B","ADD",72,74,"1/2"],["B","ADD",39,74,"64"],["B","ADD",38,74,"32"],["B","SWAP",74,75],["B","ADD",72,73,"-1/2"],["B","ADD",39,73,"-128"],["B","SCALE",73,"-1"],["B","ADD",75,73,"2"],["B","ADD",74,73,"-1"],["B","ADD",38,72,"128"],["B","SCALE",72,"-2"],["B","ADD",74,72,"1"],["B","ADD",73,72,"1"],["B","SWAP",71,73],["B","SWAP",70,72],["B","SWAP",69,71],["B","SWAP",68,70],["B","SWAP",67,69],["B","SWAP",66,68],["B","SWAP",65,67],["B","SWAP",64,66],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",75,39,"1/32"],["B","ADD",74,39,"-1/64"],["B","ADD",65,39,"1/64"],["B","ADD",64,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",75,38,"-1/32"],["B","ADD",65,38,"-1/64"],["B","ADD",64,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",14,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","ADD",1,2,"-1"],["A","ADD",0,2,"-1"],["A","SCALE",2,"-1"],["A","SWAP",2,18],["A","ADD",0,1,"-1"],["A","SCALE",1,"-1"],["A","ADD",18,1,"2"],["A","ADD",18,0,"2"],["A","ADD",1,0,"1"],["A","SWAP",0,18],["A","LAMBDA",0,-1],["A","SWAP",36,37],["A","SWAP",35,37],["A","SWAP",34,37],["A","SWAP",33,37],["A","SWAP",32,37],["A","SWAP",31,37],["A","SWAP",30,37],["A","SWAP",29,37],["A","SWAP",28,37],["A","SWAP",27,37],["A","SWAP",26,37],["A","SWAP",25,37],["A","SWAP",24,37],["A","SWAP",23,37],["A","SWAP",22,37],["A","ADD",20,21,"-1"],["A","ADD",19,21,"-1"],["A","SCALE",21,"-1"],["A","SWAP",21,37],["A","ADD",19,20,"-1"],["A","ADD",37,20,"-2"],["A","ADD",37,19,"2"],["A","ADD",20,19,"-1"],["A","SWAP",19,37],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",74,[14]],["B","IDLE_ONE",75,[14]],["B","ADD",74,75,"1"],["B","ADD",72,75,"-1/4"],["B","ADD",39,75,"-64"],["B","SCALE",75,"-1/2"],["B","ADD",73,74,"1/2"],["B","ADD",72,74,"1/2"],["B","ADD",39,74,"64"],["B","ADD",38,74,"32"],["B","SWAP",74,75],["B","ADD",72,73,"-1/2"],["B","ADD",39,73,"-128"],["B","SCALE",73,"-1"],["B","ADD",75,73,"2"],["B","ADD",74,73,"-1"],["B","ADD",38,72,"128"],["B","SCALE",72,"-2"],["B","ADD",74,72,"1"],["B","ADD",73,72,"1"],["B","SWAP",71,73],["B","SWAP",70,72],["B","SWAP",69,71],["B","SWAP",68,70],["B","SWAP",67,69],["B","SWAP",66,68],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",75,39,"1/32"],["B","ADD",74,39,"-1/64"],["B","ADD",67,39,"1/64"],["B","ADD",66,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",75,38,"-1/32"],["B","ADD",67,38,"-1/64"],["B","ADD",66,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",15,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","ADD",1,2,"-1"],["A","ADD",0,2,"-1"],["A","SCALE",2,"-1"],["A","SWAP",2,18],["A","ADD",0,1,"-1"],["A","SCALE",1,"-1"],["A","ADD",18,1,"2"],["A","ADD",18,0,"2"],["A","ADD",1,0,"1"],["A","SWAP",0,18],["A","LAMBDA",0,-1],["A","SWAP",36,37],["A","SWAP",35,37],["A","SWAP",34,37],["A","SWAP",33,37],["A","SWAP",32,37],["A","SWAP",31,37],["A","SWAP",30,37],["A","SWAP",29,37],["A","SWAP",28,37],["A","SWAP",27,37],["A","SWAP",26,37],["A","SWAP",25,37],["A","SWAP",24,37],["A","SWAP",23,37],["A","SWAP",22,37],["A","ADD",20,21,"-1"],["A","ADD",19,21,"-1"],["A","SCALE",21,"-1"],["A","SWAP",21,37],["A","ADD",19,20,"-1"],["A","ADD",37,20,"-2"],["A","ADD",37,19,"2"],["A","ADD",20,19,"-1"],["A","SWAP",19,37],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",74,[15]],["B","IDLE_ONE",75,[15]],["B","ADD",74,75,"1"],["B","ADD",72,75,"-1/4"],["B","ADD",39,75,"-64"],["B","SCALE",75,"-1/2"],["B","ADD",73,74,"1/2"],["B","ADD",72,74,"1/2"],["B","ADD",39,74,"64"],["B","ADD",38,74,"32"],["B","SWAP",74,75],["B","ADD",72,73,"-1/2"],["B","ADD",39,73,"-128"],["B","SCALE",73,"-1"],["B","ADD",75,73,"2"],["B","ADD",74,73,"-1"],["B","ADD",38,72,"128"],["B","SCALE",72,"-2"],["B","ADD",74,72,"1"],["B","ADD",73,72,"1"],["B","SWAP",71,73],["B","SWAP",70,72],["B","SWAP",69,71],["B","SWAP",68,70],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",75,39,"1/32"],["B","ADD",74,39,"-1/64"],["B","ADD",69,39,"1/64"],["B","ADD",68,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",75,38,"-1/32"],["B","ADD",69,38,"-1/64"],["B","ADD",68,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",16,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","ADD",1,2,"-1"],["A","ADD",0,2,"-1"],["A","SCALE",2,"-1"],["A","SWAP",2,18],["A","ADD",0,1,"-1"],["A","SCALE",1,"-1"],["A","ADD",18,1,"2"],["A","ADD",18,0,"2"],["A","ADD",1,0,"1"],["A","SWAP",0,18],["A","LAMBDA",0,-1],["A","SWAP",36,37],["A","SWAP",35,37],["A","SWAP",34,37],["A","SWAP",33,37],["A","SWAP",32,37],["A","SWAP",31,37],["A","SWAP",30,37],["A","SWAP",29,37],["A","SWAP",28,37],["A","SWAP",27,37],["A","SWAP",26,37],["A","SWAP",25,37],["A","SWAP",24,37],["A","SWAP",23,37],["A","SWAP",22,37],["A","ADD",20,21,"-1"],["A","ADD",19,21,"-1"],["A","SCALE",21,"-1"],["A","SWAP",21,37],["A","ADD",19,20,"-1"],["A","ADD",37,20,"-2"],["A","ADD",37,19,"2"],["A","ADD",20,19,"-1"],["A","SWAP",19,37],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",74,[16]],["B","IDLE_ONE",75,[16]],["B","ADD",74,75,"1"],["B","ADD",72,75,"-1/4"],["B","ADD",39,75,"-64"],["B","SCALE",75,"-1/2"],["B","ADD",73,74,"1/2"],["B","ADD",72,74,"1/2"],["B","ADD",39,74,"64"],["B","ADD",38,74,"32"],["B","SWAP",74,75],["B","ADD",72,73,"-1/2"],["B","ADD",39,73,"-128"],["B","SCALE",73,"-1"],["B","ADD",75,73,"2"],["B","ADD",74,73,"-1"],["B","ADD",38,72,"128"],["B","SCALE",72,"-2"],["B","ADD",74,72,"1"],["B","ADD",73,72,"1"],["B","SWAP",71,73],["B","SWAP",70,72],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",75,39,"1/32"],["B","ADD",74,39,"-1/64"],["B","ADD",71,39,"1/64"],["B","ADD",70,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",75,38,"-1/32"],["B","ADD",71,38,"-1/64"],["B","ADD",70,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",17,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","ADD",1,2,"-1"],["A","ADD",0,2,"-1"],["A","SCALE",2,"-1"],["A","SWAP",2,18],["A","ADD",0,1,"-1"],["A","SCALE",1,"-1"],["A","ADD",18,1,"2"],["A","ADD",18,0,"2"],["A","ADD",1,0,"1"],["A","SWAP",0,18],["A","LAMBDA",0,-1],["A","SWAP",36,37],["A","SWAP",35,37],["A","SWAP",34,37],["A","SWAP",33,37],["A","SWAP",32,37],["A","SWAP",31,37],["A","SWAP",30,37],["A","SWAP",29,37],["A","SWAP",28,37],["A","SWAP",27,37],["A","SWAP",26,37],["A","SWAP",25,37],["A","SWAP",24,37],["A","SWAP",23,37],["A","SWAP",22,37],["A","ADD",20,21,"-1"],["A","ADD",19,21,"-1"],["A","SCALE",21,"-1"],["A","SWAP",21,37],["A","ADD",19,20,"-1"],["A","ADD",37,20,"-2"],["A","ADD",37,19,"2"],["A","ADD",20,19,"-1"],["A","SWAP",19,37],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",74,[17]],["B","IDLE_ONE",75,[17]],["B","ADD",74,75,"1"],["B","ADD",72,75,"-1/4"],["B","ADD",39,75,"-64"],["B","SCALE",75,"-1/4"],["B","ADD",73,74,"1/2"],["B","ADD",72,74,"1/2"],["B","ADD",39,74,"64"],["B","ADD",38,74,"32"],["B","SCALE",74,"1/2"],["B","SWAP",74,75],["B","ADD",72,73,"-1/2"],["B","ADD",39,73,"-128"],["B","SCALE",73,"-1"],["B","ADD",75,73,"1"],["B","ADD",74,73,"-1/2"],["B","ADD",38,72,"128"],["B","SCALE",72,"-2"],["B","ADD",74,72,"1/2"],["B","ADD",73,72,"1"],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",75,39,"1/64"],["B","ADD",74,39,"-1/128"],["B","ADD",73,39,"1/64"],["B","ADD",72,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",75,38,"-1/64"],["B","ADD",73,38,"-1/64"],["B","ADD",72,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",18,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","SWAP",2,18],["A","ADD",0,1,"-2"],["A","SWAP",1,18],["A","SCALE",0,"-1"],["A","ADD",18,0,"-1"],["A","LAMBDA",0,-1],["A","LAMBDA",1,-1],["A","LAMBDA",2,-1],["A","LAMBDA",3,-1],["A","LAMBDA",4,-1],["A","LAMBDA",5,-1],["A","LAMBDA",6,-1],["A","LAMBDA",7,-1],["A","LAMBDA",8,-1],["A","LAMBDA",9,-1],["A","LAMBDA",10,-1],["A","LAMBDA",11,-1],["A","LAMBDA",12,-1],["A","LAMBDA",13,-1],["A","LAMBDA",14,-1],["A","LAMBDA",15,-1],["A","LAMBDA",16,-1],["A","LAMBDA",17,-1],["A","LAMBDA",18,-1],["A","SWAP",36,37],["A","SWAP",35,37],["A","SWAP",34,37],["A","SWAP",33,37],["A","SWAP",32,37],["A","SWAP",31,37],["A","SWAP",30,37],["A","SWAP",29,37],["A","SWAP",28,37],["A","SWAP",27,37],["A","SWAP",26,37],["A","SWAP",25,37],["A","SWAP",24,37],["A","SWAP",23,37],["A","SWAP",22,37],["A","SWAP",21,37],["A","ADD",19,20,"-2"],["A","SWAP",20,37],["A","SCALE",19,"-1"],["A","ADD",37,19,"-1"],["A","LAMBDA",19,-1],["A","LAMBDA",20,-1],["A","LAMBDA",21,-1],["A","LAMBDA",22,-1],["A","LAMBDA",23,-1],["A","LAMBDA",24,-1],["A","LAMBDA",25,-1],["A","LAMBDA",26,-1],["A","LAMBDA",27,-1],["A","LAMBDA",28,-1],["A","LAMBDA",29,-1],["A","LAMBDA",30,-1],["A","LAMBDA",31,-1],["A","LAMBDA",32,-1],["A","LAMBDA",33,-1],["A","LAMBDA",34,-1],["A","LAMBDA",35,-1],["A","LAMBDA",36,-1],["A","LAMBDA",37,-1],["B","LAMBDA",38,1],["B","IDLE_ONE",74,[18]],["B","IDLE_ONE",75,[18]],["B","ADD",39,75,"-128"],["B","ADD",38,75,"64"],["B","SCALE",75,"-1"],["B","ADD",38,74,"128"],["B","SCALE",74,"-1"],["B","ADD",75,74,"2"],["B","ADD",38,39,"1/2"],["B","SCALE",39,"1/128"],["B","ADD",75,39,"-2"],["B","ADD",74,39,"-1"],["B","SCALE",38,"1/128"],["B","ADD",75,38,"2"],["B","ADD",74,38,"2"],["B","SWAP",38,39],["B","LAMBDA",38,-1],["B","LAMBDA",39,-1],["B","LAMBDA",40,-1],["B","LAMBDA",41,-1],["B","LAMBDA",42,-1],["B","LAMBDA",43,-1],["B","LAMBDA",44,-1],["B","LAMBDA",45,-1],["B","LAMBDA",46,-1],["B","LAMBDA",47,-1],["B","LAMBDA",48,-1],["B","LAMBDA",49,-1],["B","LAMBDA",50,-1],["B","LAMBDA",51,-1],["B","LAMBDA",52,-1],["B","LAMBDA",53,-1],["B","LAMBDA",54,-1],["B","LAMBDA",55,-1],["B","LAMBDA",56,-1],["B","LAMBDA",57,-1],["B","LAMBDA",58,-1],["B","LAMBDA",59,-1],["B","LAMBDA",60,-1],["B","LAMBDA",61,-1],["B","LAMBDA",62,-1],["B","LAMBDA",63,-1],["B","LAMBDA",64,-1],["B","LAMBDA",65,-1],["B","LAMBDA",66,-1],["B","LAMBDA",67,-1],["B","LAMBDA",68,-1],["B","LAMBDA",69,-1],["B","LAMBDA",70,-1],["B","LAMBDA",71,-1],["B","LAMBDA",72,-1],["B","LAMBDA",73,-1],["B","LAMBDA",74,-1],["B","LAMBDA",75,-1]],"ops_note":"QSELF(x, k): R[x] *= q^k, one paid rank-1 job on one register (new op; not in the retained alphabet).; source interval457..575 replaced by a three-QUERY even-basis factorization; no QSELF"} diff --git a/research/p104-query-only-interval/README.md b/research/p104-query-only-interval/README.md new file mode 100644 index 0000000000..ef29752ee3 --- /dev/null +++ b/research/p104-query-only-interval/README.md @@ -0,0 +1,95 @@ +# An E-free caller using only existing operations + +Prepared for **@CubeJerry**, with substantial OpenAI assistance. Apache-2.0. +**No new kappa. No unconditional multiplication theorem.** + +This package removes both QSELF operations from DreamingOfClouds' +[#6937](https://github.com/CrocSwap/integer-mult-bounds/pull/6937) E-free caller +without increasing its paid-query profile. The exact source interval 457..575 +contains two separated QSELF(-1) events and one QUERY(-1). Its replacement +uses three QUERY(-1) events and existing ADD, SWAP and LAMBDA operations, +with no additional public/helper field, initialized scratch role, productive +credit or operation type. The whole caller has 3,095 events and zero QSELFs. + +The construction applies to all independent inputs, with all 18 D variables +formal, under commuting Q,D and Q^4=I. It includes the full intervening source +operations, not only a same-cut pair gadget. Its basis changes use the source +phase unit lambda_+=((1+i)+(1-i)q^2)/2; no projection is inverted. The D9 +operation is moved only across disjoint supports and is never inverted. + +## Result and complete budget + +The generated [complete caller](QUERY-ONLY-CALLER.json), exact +[interval patch](PATCH.json) and [proof](PROOF.md) are reproducible from the +pinned source. The full target and paid profiles remain identical at every +rank, hence their entire signed moment polynomial is unchanged. Totals remain +23,050 productive targets, 117,846 paid jobs, surplus 1,520 and paid rank +mass 317,324. The accepted selected certificate is untouched. + +The replacement adds 104 A events and 28 A LAMBDA events while replacing 192 +physical QSELF instances with 192 QUERY instances. All 416 outer jobs now use +the existing QUERY contract. The complete inherited ordinary invoice, including +the separate LAMBDA and 1125 conversion readings, is 826,265,904, with margin +173,734,096 below its 10^9 cap. These scalar/routing rates remain conditional; +they are not a new physical bit-tape or rounded precision certificate. + +## Evidence and reproduction + +The new interval checker compares exact 38-input matrices with unrestricted +formal D monomials, retaining repeated powers. The complete 76-input caller +also passes the unchanged public forward certificate and a separate backward +covector certificate with all D variables formal. Four exact q characters +together are faithful for the stated quotient. Eight new algebra controls +and a fourth-query paid-budget control detect incorrect modifications. + +From the repository root: + +```sh +python3 -B scripts/research_package.py --package research/p104-query-only-interval --check-only +python3 -B scripts/research_package.py --package research/p104-query-only-interval +``` + +The registered runner executes four bounded suites in normal and optimized +Python. A Git-free source export can directly run: + +```sh +python3 -I -B research/p104-query-only-interval/verify.py --suite interval +python3 -I -B research/p104-query-only-interval/verify.py --suite formal +python3 -I -B research/p104-query-only-interval/verify.py --suite invoice +python3 -I -B research/p104-query-only-interval/verify.py --suite controls +``` + +`DEPENDENCIES.json` authenticates nine targeted unchanged input files by +SHA256 and Git blob. External fork commit objects need not be present in a +shallow checkout: runtime authentication uses the vendored bytes, while +canonical task and selected-state provenance are separately pinned in +`SOURCES.json`. Regeneration is explicit with `verify.py --regenerate`. + +## Scope, novelty and credit + +DreamingOfClouds owns the E-free root/caller and its earlier QUERY-only +feasibility observation in #6937, as well as the unchanged local native source +in [#6936](https://github.com/CrocSwap/integer-mult-bounds/pull/6936). +Its source README says the whole QUERY-only caller was not built and describes +a projected loss. This package instead supplies a complete actual interval +replacement preserving the paid profile, and emits and checks the whole caller. + +The preceding public [owned QSELF package](https://github.com/CubeJerry/integer-mult-bounds/tree/4e2fd1b6abed49c202a057fd5c73ead0a460f976/research/p104-qself-owned-lowering) +supplies the exact source semantics, formal forward/backward engines and +invoice baseline reused unchanged here. Its paired-synthesis question remains +distinct from its single-QSELF determinant obstruction. Source inspection was +bounded to those exact predecessors and the lead's current #6936/#6937 refresh; +no exhaustive novelty search or universal query lower bound is claimed. + +The three-query four-input identity, actual separated-source reduction, +generator and new interval certificate were prepared for @CubeJerry with +substantial OpenAI assistance. See [review notes](REVIEW.md) for the exact +cross-check scope. AI/code-assisted review is not human or proof-kernel review. + +## Open next questions + +The [proof](PROOF.md#open-next-questions) and `TASK.json` identify the remaining +source/compiler, common-format, signed-headroom, rounded-error, bit-tape and +historical-backing obligations. Existing opcodes do not automatically install +new source-specific provider records. The five selected foundational assumptions +remain; this exact source substitution removes one proposed new-op obligation. diff --git a/research/p104-query-only-interval/RESULT.json b/research/p104-query-only-interval/RESULT.json new file mode 100644 index 0000000000..c35963e24b --- /dev/null +++ b/research/p104-query-only-interval/RESULT.json @@ -0,0 +1,241 @@ +{ + "authenticated_source_files": 9, + "controls": { + "count": 8, + "method": "exact formal coefficients; no sampled field values", + "rejected": [ + "wrong_QUERY_orientation", + "only_two_QUERY_calls", + "omitted_source_conjugation_correction", + "incomplete_t_scaling_or_source_restoration", + "repeated_D9_is_not_idempotent", + "cross_input_contamination", + "lambda_projection_zero_divisor_mutant", + "missing_q_fourth_power_relation" + ] + }, + "formal": { + "backward_covectors": [ + { + "formal_D_variables": 18, + "independent_outputs": 76, + "peak_terms": 347, + "q_character_power_of_i": 0 + }, + { + "formal_D_variables": 18, + "independent_outputs": 76, + "peak_terms": 347, + "q_character_power_of_i": 1 + }, + { + "formal_D_variables": 18, + "independent_outputs": 76, + "peak_terms": 439, + "q_character_power_of_i": 2 + }, + { + "formal_D_variables": 18, + "independent_outputs": 76, + "peak_terms": 439, + "q_character_power_of_i": 3 + } + ], + "claim": "All 76 independent input/output coefficients; all 18 D variables formal; q^4=1.", + "credit": "Unchanged public forward/backward engines from 4e2fd1b6; independent interval engine supplied here.", + "forward": { + "D_variables": 18, + "endpoint_sha256": "a1170bbdfdeab23e8d54af136a1b4a7515e9b0e893eac6656a1af47d0b9605b5", + "endpoint_terms": 76, + "events": 3095, + "independent_inputs": 76, + "peak_row_terms": 90, + "peak_terms": 2713, + "q_relation": "q^4=1" + } + }, + "interval": { + "D_exponents": "unrestricted tuples, multiplicities preserved", + "arbitrary_interval_inputs": 38, + "basis_round_trip": "identity over the full quotient, without division or sector restriction", + "endpoint_sha256": "f76900e35d871c630a5884a0c447115b5e28e089a167c8cab0ea795ccec7ed2b", + "endpoint_terms": 180, + "formal_D_variables_retained": "all; interval uses D9 only", + "four_field_gadget_endpoint_sha256": "70cd529243d516e58f768f672c3862549e9d298bc84350e0fca96ba327c19242", + "four_field_gadget_peak_terms": 12, + "interval": [ + 457, + 576 + ], + "new_events": 223, + "new_peak_terms": 756, + "old_events": 119, + "old_peak_terms": 180, + "q_relation": "q^4=1" + }, + "invoice": { + "additional_owned_bank_inventory": 0, + "additional_public_or_helper_roles": 0, + "all_rankwise_deltas_zero": true, + "controls": [ + "fourth_QUERY_adds_96_paid_rank_one_without_target_credit" + ], + "fresh_local_helpers": 19098, + "full_after": 826265904, + "full_before": 811461936, + "local_source_lifetimes_per_joint": 54, + "local_source_peak_owned": 43, + "main_arbitrary_inputs": 3952, + "margin_below_inherited_cap": 173734096, + "new_caller_cost": { + "caller_envelope": 144567808, + "idle_maps": 205536000, + "lambda_recharge": 14480000, + "main_maps": 248144000, + "main_normalizers": 102752, + "qself_extra_lifecycle": 0, + "query_maps": 1248000, + "raw_rest": 599605216, + "thin_lifecycle": 6656 + }, + "new_opcode_counts": { + "A": { + "physical_instances": { + "ADD": 40896, + "IDLE_ONE": 3072, + "LAMBDA": 13824, + "QUERY": 384, + "SCALE": 7680, + "SWAP": 34944 + }, + "source_events": { + "ADD": 426, + "IDLE_ONE": 32, + "LAMBDA": 144, + "QUERY": 4, + "SCALE": 80, + "SWAP": 364 + } + }, + "B": { + "physical_instances": { + "ADD": 13456, + "IDLE_ONE": 544, + "LAMBDA": 656, + "QUERY": 32, + "SCALE": 800, + "SWAP": 728 + }, + "source_events": { + "ADD": 1682, + "IDLE_ONE": 68, + "LAMBDA": 82, + "QUERY": 4, + "SCALE": 100, + "SWAP": 91 + } + } + }, + "new_reviewed_raw": 809050912, + "old_caller_cost": { + "caller_envelope": 132427264, + "idle_maps": 205536000, + "lambda_recharge": 11792000, + "main_maps": 248144000, + "main_normalizers": 102752, + "qself_extra_lifecycle": 24576, + "query_maps": 1248000, + "raw_rest": 587489248, + "thin_lifecycle": 6656 + }, + "old_opcode_counts": { + "A": { + "physical_instances": { + "ADD": 33792, + "IDLE_ONE": 3072, + "LAMBDA": 11136, + "QSELF": 192, + "QUERY": 192, + "SCALE": 7680, + "SWAP": 34752 + }, + "source_events": { + "ADD": 352, + "IDLE_ONE": 32, + "LAMBDA": 116, + "QSELF": 2, + "QUERY": 2, + "SCALE": 80, + "SWAP": 362 + } + }, + "B": { + "physical_instances": { + "ADD": 13456, + "IDLE_ONE": 544, + "LAMBDA": 656, + "QUERY": 32, + "SCALE": 800, + "SWAP": 728 + }, + "source_events": { + "ADD": 1682, + "IDLE_ONE": 68, + "LAMBDA": 82, + "QUERY": 4, + "SCALE": 100, + "SWAP": 91 + } + } + }, + "old_reviewed_raw": 796934944, + "outer_QUERY_lifetimes_after": 416, + "outer_query_or_QSELF_lifetimes_before": 416, + "outer_query_peak_bank_inventory": 1, + "owned_inventory_scope": "Relative to the existing completed QUERY contract; no physical binding installed.", + "paid": { + "1": 74378, + "16": 416, + "2": 15804, + "24": 416, + "3": 14058, + "32": 416, + "4": 3924, + "40": 416, + "48": 416, + "5": 5472, + "56": 416, + "6": 270, + "64": 416, + "7": 216, + "8": 812 + }, + "paid_count": 117846, + "paid_rank_mass": 317324, + "per_call_conversion_recharge": 2734992, + "rank_mass_surplus": 1520, + "selected_kappa_change": false, + "target_count": 23050, + "targets": { + "1": 216, + "145": 208, + "17": 416, + "2": 306, + "25": 416, + "3": 792, + "33": 416, + "4": 3870, + "41": 416, + "49": 416, + "5": 1224, + "57": 416, + "6": 738, + "65": 416, + "7": 252, + "73": 416, + "8": 1116, + "9": 11000 + }, + "tariff_scope": "Inherited scalar/routing convention only; actual common precision and bit-tape tariff remain open." + } +} diff --git a/research/p104-query-only-interval/REVIEW.md b/research/p104-query-only-interval/REVIEW.md new file mode 100644 index 0000000000..f45e129962 --- /dev/null +++ b/research/p104-query-only-interval/REVIEW.md @@ -0,0 +1,55 @@ +# Review and verification scope + +Prepared for @CubeJerry with substantial OpenAI assistance. Apache-2.0. + +The constructing agent derived the source conjugation and the three-query +four-input identity before implementation. Its new interval engine does not +import the prior forward or backward arithmetic. The existing published +forward and backward engines are reused unchanged and credited; their reruns +alone are not claimed as new independent implementations. + +The lead independently checked the four-input identity by direct substitution, +including t^2=1, and challenged the distinction between the true source +LAMBDA unit and the nonunit projection(1+q^2)/2. The construction uses the +unit and its explicit inverse. The lead also required that IDLE_ONE(D9) +move only through disjoint supports, with no D inverse. + +## Independent lead source and invoice check + +The lead separately read the proof and emitted source, and computed eight +dense 38-by-38 interval matrices: all four exact q characters and D9=0,2. +No submitted arithmetic implementation was imported; only the candidate word +emitter was reused. All 11,552 scalar comparisons passed. Because each actual +interval contains exactly one D9 service, every matrix coefficient has degree +at most one in D9. These two distinct D values, together with the four faithful +q characters, therefore establish the full local polynomial identity. This +coverage argument is specific to the exact source degree bound; it does not +claim that arbitrary finite D probes are sufficient. + +The independent controls detected an omitted operation, the zero-divisor +projection substituted for LAMBDA, and an idempotence treatment of D9. +The reviewed emitter SHA256 was +`19c2cf2924d5359ef2568818947de4b474cc8f842f66ee27a646596165d0ee53`. +The proof SHA256 at that review was +`0cede285a98dd61b78020651202729c6d9cd16fb078ee5fe9a01aa2400df5432`. + +The lead independently counted full physical-instance opcode deltas: +ADD +7,104; LAMBDA +2,688; QSELF -192; QUERY +192; SWAP +192. +It confirmed the 416 outer paid lifetimes, full ordinary increment 14,803,968, +and complete conditional invoice 826,265,904. It also checked the original +#6937 README's prior QUERY-only feasibility disclosure and its attribution. +No blocker was found under the explicit exact/conditional scope. + +## Executed package gates + +The canonical metadata/source-pin check and all eight registered normal and +optimized Python suites passed. The committed package is checked against its +intended added files and authenticated source capsule. The freeze procedure +also checks a source export and runs the four suites from the exported tree +with an empty PATH, without Git or external dependencies. Exact commit/tree, +export digest and logs are recorded in the lead's publication handoff. + +This was separate AI/code-assisted mathematical/source review, with shared +source inputs. It was not a human review, proof-kernel proof, or physical +full-caller replay. All native, precision and compiler limitations in the proof +remain explicit. diff --git a/research/p104-query-only-interval/SOURCES.json b/research/p104-query-only-interval/SOURCES.json new file mode 100644 index 0000000000..75ea7c3d55 --- /dev/null +++ b/research/p104-query-only-interval/SOURCES.json @@ -0,0 +1,18 @@ +{ + "schema_version": 1, + "base_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "files": [ + { + "path": "docs/research/agent-task-catalog.json", + "usage": "provenance", + "git_blob": "3404fbdd5e7529a0674eef26114b5071e4586cec", + "sha256": "ead6cdc9d0af6d58e8a49744d8ec8c7c15e13d2ba93c276c434bcf9b51b93a81" + }, + { + "path": "certificates/selected-result.json", + "usage": "provenance", + "git_blob": "d59b5035e7b4cbaa9d688a1d32dd0d6eb79c466a", + "sha256": "9b8d0eea95b3bf0dfcb7938a732a6439b87a2685dec2a5ab9e525b3b34debbfa" + } + ] +} diff --git a/research/p104-query-only-interval/TASK.json b/research/p104-query-only-interval/TASK.json new file mode 100644 index 0000000000..f5bb805126 --- /dev/null +++ b/research/p104-query-only-interval/TASK.json @@ -0,0 +1,93 @@ +{ + "schema_version": 1, + "task_id": "uniform-transfer-audit", + "base_commit": "7c49fe32c55de02c2c873655c804b16e4c3fef0a", + "original_card": { + "id": "uniform-transfer-audit", + "question": "Can one of the selected record's five inherited assumptions be proved at its actual caller?", + "starting_points": [ + "docs/research/current-priorities.md", + "docs/research/research-family-status.md", + "certificates/selected-result.json", + "docs/research/pr-intake-evidence/pr5599-completion/PROOF-REVIEW.md" + ], + "methods": [ + "Construct and independently check one source-bound instance of the stated first experiment.", + "Seek an exact counterexample or target-specific complete-budget obstruction to that same proposed change." + ], + "acceptance_gate": "Identify the proposition and what would change downstream; do not equate a finite replay with a universal proof.", + "first_step": { + "command": [ + "python3", + "-B", + "scripts/research_selected_baseline.py" + ], + "expected": "PASS_RESEARCH_BASELINE_BINDINGS_ONLY", + "inspect": "Read revision 8, the selected review and live exact-source handoffs. Then follow this card's bounded first_experiment.", + "scope": "Source-bound orientation only, not a supplier replay or theorem proof." + }, + "first_experiment": "Choose one assumption ID (native_all_columns, owned_erasure, compiler, precision_tape, analytic_recovery), one quantified implication and exact dependency closure. Check current handoffs, including #5625 row reentry and #5707 root-prefix lowering, without treating their partial scope as the whole theorem. Prove or falsify that implication with a caller-bound argument; stop at the chosen obligation. Finite tests or root digits do not discharge an all-size statement.", + "bottleneck_link": "Judge the actual current supplier contract and complete signed target/paid bill; frozen-profile ceilings require an applicability proof.", + "allowed_variations": [ + "One exact source head, helper/cut region or quantified proposition and changed hypothesis; check live handoffs first. Different seeds are not different scopes." + ], + "scope_change_triggers": [ + "Changing source head, helper/cut domain, operation alphabet or caller boundary without recording the new scope.", + "Treating an archived proposal or local numerical pass as complete supplier admission." + ], + "overlap_terms": [ + "native_all_columns", + "owned_erasure", + "compiler", + "precision_tape", + "analytic_recovery" + ], + "existing_checks": [ + { + "scope": "PR #4100: proposed unconditional construction and finite checks, without independent acceptance.", + "evidence": "research/unconditional-batched-crt/README.md", + "remaining": "Independent proof audit of one caller-bound all-size implication; all other premises remain explicit.", + "status": "author-checked", + "source_commit": "337d04939571a637aeab54a0f58f54fde811663a", + "selected_record_sha256": "bb2eaa58647b353f88d0aec2eafb9d30df1be53589231b23e12ceef3e4bad129" + }, + { + "scope": "Selected PR5599: complete helper-subspace construction and independent caller replay; five framework assumptions remain.", + "evidence": "docs/research/pr-intake-evidence/pr5599-completion/PROOF-REVIEW.md", + "remaining": "The next experiment must identify uncovered source-specific work. Successor archive intake does not transfer this admission.", + "status": "reviewed", + "source_commit": "09dd0965711ca7eeb169057a420abab1c9052137", + "selected_record_sha256": "2a0220e866417774606e0f991e41b9c1d26b1f43b97857238cf478dbc7d330b5" + } + ] + }, + "scope_status": "refined", + "scope_change_reason": "Lead-assigned wave-5 source interval457..575 pairs the two separated QSELF sites with their intervening QUERY. Prior owned lowering deliberately did not settle paired existing-op synthesis.", + "actual_scope": "Exact three-QUERY replacement of the complete current separated interval, all-D whole-caller identity, complete target/paid and positive ordinary invoice. Existing opcodes only; no physical or rounded execution claim.", + "bottleneck_link": "Removes the proposed new QSELF operation and its new-service registry obligation from this exact E-free caller while preserving its whole paid profile. The selected compiler/native/precision premises remain.", + "stop_rule": "Stop after this exact interval and full source/cost composition. Exclude new roots, generic helper search, native transfer, and unrelated optimizations.", + "evidence": "PROOF.md, QUERY-ONLY-CALLER.json, PATCH.json, RESULT.json; exact 38-input interval matrix, complete 76-input forward/backward certificates, eight algebra controls and a paid-budget control.", + "author": "@CubeJerry", + "ai_assistance": "Substantial OpenAI assistance in source analysis, mathematics, implementation and verification. Separate AI review is not independent human or proof-kernel acceptance.", + "outcome": "completed", + "open_questions": [ + { + "question": "Bind the regenerated caller to actual existing QUERY/LAMBDA/scalar providers and intermediate formats.", + "why_it_matters": "An exact formal operator identity does not imply physical signed success or a literal source registry.", + "first_step": "Export exact new occurrence tokens/headers and prove matching full-field geometry, common grid and signed ranges.", + "blocked_by": "Compiler, native, owned and precision_tape interface contracts." + }, + { + "question": "Propagate complete rounded errors and physical work through the changed interval.", + "why_it_matters": "Extra even operations and cross-chain intermediates have real costs and changed error propagation.", + "first_step": "Use the complete 223-event sequence, with all setup, conversion, copying, head restoration and historical backing charged.", + "blocked_by": "Source-specific numerical and bit-tape tariff bounds." + }, + { + "question": "Reduce additional even-phase work without changing the paid profile.", + "why_it_matters": "The verified replacement adds 28 LAMBDA occurrences per A port; reducing them could improve constants.", + "first_step": "Optimize the committed four-field word while preserving its exact all-input matrix and full separated-source reduction.", + "blocked_by": "Outside this bounded task; any candidate needs independent source/cost verification." + } + ] +} diff --git a/research/p104-query-only-interval/VERIFY.json b/research/p104-query-only-interval/VERIFY.json new file mode 100644 index 0000000000..e52f7b1577 --- /dev/null +++ b/research/p104-query-only-interval/VERIFY.json @@ -0,0 +1,119 @@ +{ + "schema_version": 1, + "status": "ready", + "python": "3.12", + "requirements": [], + "inputs": [ + "research/p104-query-only-interval/data/caller_efree.json", + "research/p104-query-only-interval/data/root_A_efree.json", + "research/p104-query-only-interval/data/word_6936.json.gz", + "research/p104-query-only-interval/reference/jclib_6936.py", + "research/p104-query-only-interval/vendor/operator_ring.py", + "research/p104-query-only-interval/vendor/dual_certificate.py", + "research/p104-query-only-interval/vendor/invoice.py", + "research/p104-query-only-interval/reference/OWNED-PROOF.md", + "research/p104-query-only-interval/reference/README_6937.md" + ], + "commands": [ + { + "argv": [ + "{python}", + "-I", + "-B", + "research/p104-query-only-interval/verify.py", + "--suite", + "interval" + ], + "timeout_seconds": 120, + "checks": "Normal interval exact source identity/cost certificate and meaningful controls." + }, + { + "argv": [ + "{python}", + "-I", + "-B", + "research/p104-query-only-interval/verify.py", + "--suite", + "formal" + ], + "timeout_seconds": 120, + "checks": "Normal formal exact source identity/cost certificate and meaningful controls." + }, + { + "argv": [ + "{python}", + "-I", + "-B", + "research/p104-query-only-interval/verify.py", + "--suite", + "invoice" + ], + "timeout_seconds": 120, + "checks": "Normal invoice exact source identity/cost certificate and meaningful controls." + }, + { + "argv": [ + "{python}", + "-I", + "-B", + "research/p104-query-only-interval/verify.py", + "--suite", + "controls" + ], + "timeout_seconds": 120, + "checks": "Normal controls exact source identity/cost certificate and meaningful controls." + }, + { + "argv": [ + "{python}", + "-I", + "-O", + "-B", + "research/p104-query-only-interval/verify.py", + "--suite", + "interval" + ], + "timeout_seconds": 120, + "checks": "Optimized interval exact source identity/cost certificate and meaningful controls." + }, + { + "argv": [ + "{python}", + "-I", + "-O", + "-B", + "research/p104-query-only-interval/verify.py", + "--suite", + "formal" + ], + "timeout_seconds": 120, + "checks": "Optimized formal exact source identity/cost certificate and meaningful controls." + }, + { + "argv": [ + "{python}", + "-I", + "-O", + "-B", + "research/p104-query-only-interval/verify.py", + "--suite", + "invoice" + ], + "timeout_seconds": 120, + "checks": "Optimized invoice exact source identity/cost certificate and meaningful controls." + }, + { + "argv": [ + "{python}", + "-I", + "-O", + "-B", + "research/p104-query-only-interval/verify.py", + "--suite", + "controls" + ], + "timeout_seconds": 120, + "checks": "Optimized controls exact source identity/cost certificate and meaningful controls." + } + ] +} diff --git a/research/p104-query-only-interval/complete_invoice.py b/research/p104-query-only-interval/complete_invoice.py new file mode 100644 index 0000000000..eec03ab88b --- /dev/null +++ b/research/p104-query-only-interval/complete_invoice.py @@ -0,0 +1,75 @@ +"""Complete rank profile and positive inherited ordinary-cost comparison. + +This is source accounting under the declared historical tariff, not a proof +of its physical bit-tape rate. Prepared for @CubeJerry with substantial OpenAI +assistance. Apache-2.0. +""" +from collections import Counter +from source_binding import module,need +from replacement import counts + + +def verify(old,new,root,word): + iv=module('invoice') + need(old['types'] == new['types'] and old['roles'] == new['roles'] == 76, + 'unchanged complete arbitrary main inventory and targets') + need([e for e in old['events'] if e[0] == 'J'] == + [e for e in new['events'] if e[0] == 'J'], 'same 18 exact local native contacts') + masks=[[-1,0]+[int(r in s['mask']) for s in root['stages']] for r in range(root['n'])] + need(masks == old['types']['A']['diagonal'] == new['types']['A']['diagonal'], + 'unchanged exact E-free root target masks') + need(all(sum(d[2:])>0 for t in new['types'].values() for d in t['diagonal']), + 'no empty-mask main target credit') + local=iv.local_invoice(word) + oldT,oldP=iv.outer_invoice(old,local) + newT,newP=iv.outer_invoice(new,local) + need(oldT == newT and oldP == newP, 'complete rankwise moment polynomial unchanged') + a,b=iv.caller_cost(old),iv.caller_cost(new) + oldc,newc=counts(old),counts(new) + def amount(c,op): + return sum(v['physical_instances'].get(op,0) for v in c.values()) + need((amount(oldc,'QUERY'),amount(oldc,'QSELF'),amount(newc,'QUERY'),amount(newc,'QSELF')) + == (224,192,416,0), 'actual complete outer lifetime counts') + need(len(new['events'])-len(old['events']) == 104 + and amount(newc,'LAMBDA')-amount(oldc,'LAMBDA') == 28*96, + 'all additional ordinary work counted') + need(b['caller_envelope']-a['caller_envelope'] == 104*32*38*96, + 'complete changed caller envelope') + need(b['lambda_recharge']-a['lambda_recharge'] == 28*1000*96, + 'positive extra lambda allowance') + need(a['qself_extra_lifecycle'] == 192*128 and b['qself_extra_lifecycle'] == 0, + 'only obsolete QSELF-specific surcharge removed') + for name in ('thin_lifecycle','main_normalizers','main_maps','idle_maps','query_maps'): + need(a[name] == b[name], 'unchanged complete term '+name) + scale=18*word['public']*104 + oldraw=18*local['reviewed_per_call']+a['raw_rest'] + newraw=18*local['reviewed_per_call']+b['raw_rest'] + before=oldraw+a['lambda_recharge']+scale + after=newraw+b['lambda_recharge']+scale + need((oldraw,newraw,before,after) == (796934944,809050912,811461936,826265904), + 'full exact inherited invoice') + need(after < 10**9, 'full inherited ordinary allowance preserved') + # A fourth query would change the full paid profile, even with free metadata. + mutant={**new,'events':new['events']+[['A','QUERY',0,1,-1]]} + mt,mp=iv.outer_invoice(mutant,local) + need(mt == newT and mp[1]-newP[1] == 96 and mp != newP, + 'fourth-query budget negative control') + main=sum(t['roles']*len(t['ports']) for t in new['types'].values()) + helpers=18*sum(local['helpers'].values()) + return dict(targets=dict(sorted(newT.items())),paid=dict(sorted(newP.items())), + target_count=sum(newT.values()),paid_count=sum(newP.values()), + rank_mass_surplus=sum(r*(newT[r]-newP[r]) for r in set(newT)|set(newP)), + paid_rank_mass=sum(r*n for r,n in newP.items()), + all_rankwise_deltas_zero=True,main_arbitrary_inputs=main,fresh_local_helpers=helpers, + old_opcode_counts=oldc,new_opcode_counts=newc, + local_source_lifetimes_per_joint=local['lifetimes'],local_source_peak_owned=local['peak_owned'], + outer_query_or_QSELF_lifetimes_before=416,outer_QUERY_lifetimes_after=416, + additional_public_or_helper_roles=0,additional_owned_bank_inventory=0, + outer_query_peak_bank_inventory=1, + owned_inventory_scope='Relative to the existing completed QUERY contract; no physical binding installed.', + old_caller_cost=a,new_caller_cost=b,old_reviewed_raw=oldraw,new_reviewed_raw=newraw, + per_call_conversion_recharge=scale,full_before=before,full_after=after, + margin_below_inherited_cap=10**9-after, + controls=['fourth_QUERY_adds_96_paid_rank_one_without_target_credit'], + tariff_scope='Inherited scalar/routing convention only; actual common precision and bit-tape tariff remain open.', + selected_kappa_change=False) diff --git a/research/p104-query-only-interval/data/caller_efree.json b/research/p104-query-only-interval/data/caller_efree.json new file mode 100644 index 0000000000..5a71ca9f80 --- /dev/null +++ b/research/p104-query-only-interval/data/caller_efree.json @@ -0,0 +1 @@ +{"schema":"mixed-root-caller/1","stages":18,"ambient_rank":153,"roles":76,"types":{"A":{"form":"two-chain-HOST2","roles":38,"offset":0,"ports":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,16,18,19,20,21,22,23,24,25,26,28,29,30,31,32,33,36,37,38,39,40,41,43,44,45,46,48,49,50,51,52,53,54,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103],"alpha2":"-1","beta2":"0","diagonal":[[-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[-1,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1],[-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[-1,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1]]},"B":{"form":"hosted-HOST","roles":38,"offset":38,"ports":[15,17,27,34,35,42,47,55],"diagonal":[[-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[-1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],[-1,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1],[-1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1]],"pairs":[[0,1,"-1","1/2","-1/2"],[2,3,"-1","1/2","-1/2"],[4,5,"-1","1/2","-1/2"],[6,7,"-1","1/2","-1/2"],[8,9,"-1","1/2","-1/2"],[10,11,"-1","1/2","-1/2"],[12,13,"-1","1/2","-1/2"],[14,15,"-1","1/2","-1/2"],[16,17,"-1","1/2","-1/2"],[22,23,"-1","1/2","-1/2"],[24,25,"-1","1/2","-1/2"],[26,27,"-1","1/2","-1/2"],[28,29,"-1","1/2","-1/2"],[30,31,"-1","1/2","-1/2"],[32,33,"-1","1/2","-1/2"],[34,35,"-1","1/2","-1/2"],[36,37,"-1","1/2","-1/2"],[38,39,"-1","1/2","-1/2"]]}},"events":[["A","ADD",0,1,"-1"],["A","SWAP",0,1],["A","LAMBDA",0,-1],["A","ADD",19,20,"-1"],["A","SWAP",19,20],["A","SCALE",20,"-1"],["A","LAMBDA",19,1],["B","ADD",40,41,"-2"],["B","ADD",39,41,"1"],["B","ADD",38,41,"2"],["B","ADD",39,40,"1"],["B","ADD",38,40,"1"],["B","ADD",38,39,"-2"],["B","SCALE",39,"256"],["B","ADD",41,39,"-1/128"],["B","ADD",40,39,"1/128"],["B","SCALE",38,"128"],["B","ADD",41,38,"-1/128"],["B","ADD",40,38,"1/64"],["B","ADD",39,38,"1"],["B","LAMBDA",38,-1],["J",1,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","ADD",1,2,"1"],["A","ADD",0,2,"-1"],["A","SCALE",1,"-1"],["A","SWAP",1,2],["A","ADD",2,0,"-1"],["A","SWAP",0,1],["A","LAMBDA",0,-1],["A","ADD",20,21,"1"],["A","ADD",19,21,"-1"],["A","SCALE",20,"-1"],["A","SWAP",20,21],["A","SCALE",19,"-1"],["A","ADD",21,19,"1"],["A","SWAP",19,20],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",40,[1]],["B","IDLE_ONE",41,[1]],["B","ADD",42,43,"-2"],["B","ADD",40,43,"-2"],["B","ADD",39,43,"-256"],["B","ADD",38,43,"-128"],["B","ADD",41,42,"1"],["B","ADD",40,42,"-2"],["B","ADD",39,42,"-256"],["B","ADD",39,41,"256"],["B","ADD",38,41,"-128"],["B","ADD",38,40,"-128"],["B","ADD",41,40,"1"],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",43,39,"-1/128"],["B","ADD",42,39,"1/128"],["B","ADD",41,39,"1/128"],["B","ADD",40,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",43,38,"1/128"],["B","ADD",41,38,"-1/128"],["B","ADD",40,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",2,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",2,[2,3,4,5,6,7,8,9]],["A","ADD",1,3,"1"],["A","ADD",0,3,"-2"],["A","ADD",0,1,"2"],["A","SCALE",1,"-1"],["A","SCALE",0,"-1"],["A","ADD",1,0,"-1"],["A","SWAP",0,3],["A","LAMBDA",0,-1],["A","ADD",19,20,"-1"],["A","IDLE_ONE",21,[2,3,4,5,6,7,8,9]],["A","ADD",20,22,"1"],["A","ADD",19,22,"-2"],["A","ADD",19,20,"2"],["A","SCALE",19,"-1"],["A","ADD",20,19,"1"],["A","SWAP",19,22],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",40,[2,3,4,5,6,7,8,9]],["B","IDLE_ONE",41,[2,3,4,5,6,7,8,9]],["B","IDLE_ONE",42,[2]],["B","IDLE_ONE",43,[2]],["B","ADD",44,45,"-2"],["B","ADD",42,45,"-2"],["B","ADD",39,45,"-256"],["B","ADD",38,45,"-128"],["B","ADD",43,44,"1"],["B","ADD",42,44,"-2"],["B","ADD",39,44,"-256"],["B","ADD",39,43,"256"],["B","ADD",38,43,"-128"],["B","ADD",38,42,"-128"],["B","ADD",43,42,"1"],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",45,39,"-1/128"],["B","ADD",44,39,"1/128"],["B","ADD",43,39,"1/128"],["B","ADD",42,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",45,38,"1/128"],["B","ADD",43,38,"-1/128"],["B","ADD",42,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",3,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",3,[3,4,5,6,7,8,9]],["A","ADD",1,4,"1"],["A","ADD",0,4,"-2"],["A","ADD",0,1,"2"],["A","SCALE",1,"-1"],["A","SCALE",0,"-1"],["A","ADD",1,0,"-1"],["A","SWAP",0,4],["A","LAMBDA",0,-1],["A","ADD",19,20,"-1"],["A","IDLE_ONE",22,[3,4,5,6,7,8,9]],["A","ADD",20,23,"1"],["A","ADD",19,23,"-2"],["A","ADD",19,20,"2"],["A","SCALE",19,"-1"],["A","ADD",20,19,"1"],["A","SWAP",19,23],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",42,[3,4,5,6,7,8,9]],["B","IDLE_ONE",43,[3,4,5,6,7,8,9]],["B","IDLE_ONE",44,[3]],["B","IDLE_ONE",45,[3]],["B","ADD",46,47,"-2"],["B","ADD",44,47,"-2"],["B","ADD",39,47,"-256"],["B","ADD",38,47,"-128"],["B","ADD",45,46,"1"],["B","ADD",44,46,"-2"],["B","ADD",39,46,"-256"],["B","ADD",39,45,"256"],["B","ADD",38,45,"-128"],["B","ADD",38,44,"-128"],["B","ADD",45,44,"1"],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",47,39,"-1/128"],["B","ADD",46,39,"1/128"],["B","ADD",45,39,"1/128"],["B","ADD",44,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",47,38,"1/128"],["B","ADD",45,38,"-1/128"],["B","ADD",44,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",4,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",4,[4,5,6,7,8,9]],["A","ADD",1,5,"1"],["A","ADD",0,5,"-2"],["A","ADD",0,1,"2"],["A","SCALE",1,"-1"],["A","SCALE",0,"-1"],["A","ADD",1,0,"-1"],["A","SWAP",0,5],["A","LAMBDA",0,-1],["A","ADD",19,20,"-1"],["A","IDLE_ONE",23,[4,5,6,7,8,9]],["A","ADD",20,24,"1"],["A","ADD",19,24,"-2"],["A","ADD",19,20,"2"],["A","SCALE",19,"-1"],["A","ADD",20,19,"1"],["A","SWAP",19,24],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",44,[4,5,6,7,8,9]],["B","IDLE_ONE",45,[4,5,6,7,8,9]],["B","IDLE_ONE",46,[4]],["B","IDLE_ONE",47,[4]],["B","ADD",48,49,"-2"],["B","ADD",46,49,"-2"],["B","ADD",39,49,"-256"],["B","ADD",38,49,"-128"],["B","ADD",47,48,"1"],["B","ADD",46,48,"-2"],["B","ADD",39,48,"-256"],["B","ADD",39,47,"256"],["B","ADD",38,47,"-128"],["B","ADD",38,46,"-128"],["B","ADD",47,46,"1"],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",49,39,"-1/128"],["B","ADD",48,39,"1/128"],["B","ADD",47,39,"1/128"],["B","ADD",46,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",49,38,"1/128"],["B","ADD",47,38,"-1/128"],["B","ADD",46,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",5,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",5,[5,6,7,8,9]],["A","ADD",1,6,"1"],["A","ADD",0,6,"-2"],["A","ADD",0,1,"2"],["A","SCALE",1,"-1"],["A","SCALE",0,"-1"],["A","ADD",1,0,"-1"],["A","SWAP",0,6],["A","LAMBDA",0,-1],["A","ADD",19,20,"-1"],["A","IDLE_ONE",24,[5,6,7,8,9]],["A","ADD",20,25,"1"],["A","ADD",19,25,"-2"],["A","ADD",19,20,"2"],["A","SCALE",19,"-1"],["A","ADD",20,19,"1"],["A","SWAP",19,25],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",46,[5,6,7,8,9]],["B","IDLE_ONE",47,[5,6,7,8,9]],["B","IDLE_ONE",48,[5]],["B","IDLE_ONE",49,[5]],["B","ADD",50,51,"-2"],["B","ADD",48,51,"-2"],["B","ADD",39,51,"-256"],["B","ADD",38,51,"-128"],["B","ADD",49,50,"1"],["B","ADD",48,50,"-2"],["B","ADD",39,50,"-256"],["B","ADD",39,49,"256"],["B","ADD",38,49,"-128"],["B","ADD",38,48,"-128"],["B","ADD",49,48,"1"],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",51,39,"-1/128"],["B","ADD",50,39,"1/128"],["B","ADD",49,39,"1/128"],["B","ADD",48,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",51,38,"1/128"],["B","ADD",49,38,"-1/128"],["B","ADD",48,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",6,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",6,[6,7,8,9]],["A","ADD",1,7,"1"],["A","ADD",0,7,"-2"],["A","ADD",0,1,"2"],["A","SCALE",1,"-1"],["A","SCALE",0,"-1"],["A","ADD",1,0,"-1"],["A","SWAP",0,7],["A","LAMBDA",0,-1],["A","ADD",19,20,"-1"],["A","IDLE_ONE",25,[6,7,8,9]],["A","ADD",20,26,"1"],["A","ADD",19,26,"-2"],["A","ADD",19,20,"2"],["A","SCALE",19,"-1"],["A","ADD",20,19,"1"],["A","SWAP",19,26],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",48,[6,7,8,9]],["B","IDLE_ONE",49,[6,7,8,9]],["B","IDLE_ONE",50,[6]],["B","IDLE_ONE",51,[6]],["B","ADD",52,53,"-2"],["B","ADD",50,53,"-2"],["B","ADD",39,53,"-256"],["B","ADD",38,53,"-128"],["B","ADD",51,52,"1"],["B","ADD",50,52,"-2"],["B","ADD",39,52,"-256"],["B","ADD",39,51,"256"],["B","ADD",38,51,"-128"],["B","ADD",38,50,"-128"],["B","ADD",51,50,"1"],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",53,39,"-1/128"],["B","ADD",52,39,"1/128"],["B","ADD",51,39,"1/128"],["B","ADD",50,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",53,38,"1/128"],["B","ADD",51,38,"-1/128"],["B","ADD",50,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",7,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",7,[7,8,9]],["A","ADD",1,8,"1"],["A","ADD",0,8,"-2"],["A","ADD",0,1,"2"],["A","SCALE",1,"-1"],["A","SCALE",0,"-1"],["A","ADD",1,0,"-1"],["A","SWAP",0,8],["A","LAMBDA",0,-1],["A","ADD",19,20,"-1"],["A","IDLE_ONE",26,[7,8,9]],["A","ADD",20,27,"1"],["A","ADD",19,27,"-2"],["A","ADD",19,20,"2"],["A","SCALE",19,"-1"],["A","ADD",20,19,"1"],["A","SWAP",19,27],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",50,[7,8,9]],["B","IDLE_ONE",51,[7,8,9]],["B","IDLE_ONE",52,[7]],["B","IDLE_ONE",53,[7]],["B","ADD",54,55,"-2"],["B","ADD",52,55,"-2"],["B","ADD",39,55,"-256"],["B","ADD",38,55,"-128"],["B","ADD",53,54,"1"],["B","ADD",52,54,"-2"],["B","ADD",39,54,"-256"],["B","ADD",39,53,"256"],["B","ADD",38,53,"-128"],["B","ADD",38,52,"-128"],["B","ADD",53,52,"1"],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",55,39,"-1/128"],["B","ADD",54,39,"1/128"],["B","ADD",53,39,"1/128"],["B","ADD",52,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",55,38,"1/128"],["B","ADD",53,38,"-1/128"],["B","ADD",52,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",8,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",8,[8,9]],["A","ADD",1,9,"1"],["A","ADD",0,9,"-2"],["A","ADD",0,1,"2"],["A","SCALE",1,"-1"],["A","SCALE",0,"-1"],["A","ADD",1,0,"-1"],["A","SWAP",0,9],["A","LAMBDA",0,-1],["A","ADD",19,20,"-1"],["A","IDLE_ONE",27,[8,9]],["A","ADD",20,28,"1"],["A","ADD",19,28,"-2"],["A","ADD",19,20,"2"],["A","SCALE",19,"-1"],["A","ADD",20,19,"1"],["A","SWAP",19,28],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",52,[8,9]],["B","IDLE_ONE",53,[8,9]],["B","IDLE_ONE",54,[8]],["B","IDLE_ONE",55,[8]],["B","ADD",56,57,"-2"],["B","ADD",54,57,"-2"],["B","ADD",39,57,"-256"],["B","ADD",38,57,"-128"],["B","ADD",55,56,"1"],["B","ADD",54,56,"-2"],["B","ADD",39,56,"-256"],["B","ADD",39,55,"256"],["B","ADD",38,55,"-128"],["B","ADD",38,54,"-128"],["B","ADD",55,54,"1"],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",57,39,"-1/128"],["B","ADD",56,39,"1/128"],["B","ADD",55,39,"1/128"],["B","ADD",54,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",57,38,"1/128"],["B","ADD",55,38,"-1/128"],["B","ADD",54,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",9,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",9,[9]],["A","SWAP",9,8],["A","SWAP",9,7],["A","SWAP",9,6],["A","SWAP",9,5],["A","SWAP",9,4],["A","SWAP",9,3],["A","SWAP",9,2],["A","ADD",0,1,"1"],["A","SCALE",1,"-1"],["A","SWAP",9,1],["A","ADD",18,0,"1"],["A","ADD",17,0,"1"],["A","ADD",16,0,"1"],["A","ADD",15,0,"1"],["A","ADD",14,0,"1"],["A","ADD",13,0,"1"],["A","ADD",12,0,"1"],["A","ADD",11,0,"1"],["A","ADD",10,0,"1"],["A","ADD",8,0,"1"],["A","ADD",7,0,"1"],["A","ADD",6,0,"1"],["A","ADD",5,0,"1"],["A","ADD",4,0,"1"],["A","ADD",3,0,"1"],["A","ADD",2,0,"1"],["A","ADD",1,0,"1"],["A","LAMBDA",0,1],["A","QSELF",0,-1],["A","ADD",1,18,"-1"],["A","ADD",1,17,"1"],["A","ADD",1,16,"-1"],["A","ADD",1,15,"1"],["A","ADD",1,14,"-1"],["A","ADD",1,13,"1"],["A","ADD",1,12,"-1"],["A","ADD",1,11,"1"],["A","ADD",1,10,"-1"],["A","ADD",1,9,"1"],["A","ADD",1,8,"-1"],["A","ADD",1,7,"1"],["A","ADD",1,6,"-1"],["A","ADD",1,5,"1"],["A","ADD",1,4,"-1"],["A","ADD",1,3,"1"],["A","ADD",1,2,"-1"],["A","SCALE",1,"-1"],["A","SCALE",0,"-1"],["A","ADD",18,0,"-1"],["A","ADD",17,0,"-1"],["A","ADD",16,0,"-1"],["A","ADD",15,0,"-1"],["A","ADD",14,0,"-1"],["A","ADD",13,0,"-1"],["A","ADD",12,0,"-1"],["A","ADD",11,0,"-1"],["A","ADD",10,0,"-1"],["A","ADD",9,0,"-1"],["A","ADD",8,0,"-1"],["A","ADD",7,0,"-1"],["A","ADD",6,0,"-1"],["A","ADD",5,0,"-1"],["A","ADD",4,0,"-1"],["A","ADD",3,0,"-1"],["A","ADD",2,0,"-1"],["A","LAMBDA",0,-1],["A","QUERY",0,1,-1],["A","LAMBDA",0,1],["A","ADD",1,18,"-1"],["A","ADD",0,18,"-1"],["A","ADD",1,17,"1"],["A","ADD",0,17,"1"],["A","ADD",1,16,"-1"],["A","ADD",0,16,"-1"],["A","ADD",1,15,"1"],["A","ADD",0,15,"1"],["A","ADD",1,14,"-1"],["A","ADD",0,14,"-1"],["A","ADD",1,13,"1"],["A","ADD",0,13,"1"],["A","ADD",1,12,"-1"],["A","ADD",0,12,"-1"],["A","ADD",1,11,"1"],["A","ADD",0,11,"1"],["A","ADD",1,10,"-1"],["A","SCALE",10,"-1"],["A","ADD",1,9,"1"],["A","ADD",0,9,"1"],["A","SWAP",18,9],["A","ADD",1,8,"-1"],["A","ADD",0,8,"-1"],["A","SWAP",17,8],["A","ADD",1,7,"1"],["A","ADD",0,7,"1"],["A","SWAP",16,7],["A","ADD",1,6,"-1"],["A","ADD",0,6,"-1"],["A","SWAP",15,6],["A","ADD",1,5,"1"],["A","ADD",0,5,"1"],["A","SWAP",14,5],["A","ADD",1,4,"-1"],["A","ADD",0,4,"-1"],["A","SWAP",13,4],["A","ADD",1,3,"1"],["A","ADD",0,3,"1"],["A","SWAP",12,3],["A","ADD",1,2,"-1"],["A","ADD",0,2,"-1"],["A","SWAP",11,2],["A","ADD",0,1,"-1"],["A","SCALE",1,"-1"],["A","SWAP",10,1],["A","SWAP",1,0],["A","ADD",0,1,"2"],["A","LAMBDA",0,-1],["A","ADD",19,20,"-1"],["A","IDLE_ONE",28,[9]],["A","SWAP",28,27],["A","SWAP",28,26],["A","SWAP",28,25],["A","SWAP",28,24],["A","SWAP",28,23],["A","SWAP",28,22],["A","SWAP",28,21],["A","ADD",19,20,"1"],["A","SCALE",20,"-1"],["A","SWAP",28,20],["A","ADD",37,19,"1"],["A","ADD",36,19,"1"],["A","ADD",35,19,"1"],["A","ADD",34,19,"1"],["A","ADD",33,19,"1"],["A","ADD",32,19,"1"],["A","ADD",31,19,"1"],["A","ADD",30,19,"1"],["A","ADD",29,19,"1"],["A","ADD",27,19,"1"],["A","ADD",26,19,"1"],["A","ADD",25,19,"1"],["A","ADD",24,19,"1"],["A","ADD",23,19,"1"],["A","ADD",22,19,"1"],["A","ADD",21,19,"1"],["A","ADD",20,19,"1"],["A","LAMBDA",19,1],["A","QSELF",19,-1],["A","ADD",20,37,"-1"],["A","ADD",20,36,"1"],["A","ADD",20,35,"-1"],["A","ADD",20,34,"1"],["A","ADD",20,33,"-1"],["A","ADD",20,32,"1"],["A","ADD",20,31,"-1"],["A","ADD",20,30,"1"],["A","ADD",20,29,"-1"],["A","ADD",20,28,"1"],["A","ADD",20,27,"-1"],["A","ADD",20,26,"1"],["A","ADD",20,25,"-1"],["A","ADD",20,24,"1"],["A","ADD",20,23,"-1"],["A","ADD",20,22,"1"],["A","ADD",20,21,"-1"],["A","SCALE",20,"-1"],["A","SCALE",19,"-1"],["A","ADD",37,19,"-1"],["A","ADD",36,19,"-1"],["A","ADD",35,19,"-1"],["A","ADD",34,19,"-1"],["A","ADD",33,19,"-1"],["A","ADD",32,19,"-1"],["A","ADD",31,19,"-1"],["A","ADD",30,19,"-1"],["A","ADD",29,19,"-1"],["A","ADD",28,19,"-1"],["A","ADD",27,19,"-1"],["A","ADD",26,19,"-1"],["A","ADD",25,19,"-1"],["A","ADD",24,19,"-1"],["A","ADD",23,19,"-1"],["A","ADD",22,19,"-1"],["A","ADD",21,19,"-1"],["A","LAMBDA",19,-1],["A","QUERY",19,20,-1],["A","LAMBDA",19,1],["A","ADD",20,37,"-1"],["A","ADD",19,37,"-1"],["A","ADD",20,36,"1"],["A","ADD",19,36,"1"],["A","ADD",20,35,"-1"],["A","ADD",19,35,"-1"],["A","ADD",20,34,"1"],["A","ADD",19,34,"1"],["A","ADD",20,33,"-1"],["A","ADD",19,33,"-1"],["A","ADD",20,32,"1"],["A","ADD",19,32,"1"],["A","ADD",20,31,"-1"],["A","ADD",19,31,"-1"],["A","ADD",20,30,"1"],["A","ADD",19,30,"1"],["A","ADD",20,29,"-1"],["A","SCALE",29,"-1"],["A","ADD",20,28,"1"],["A","ADD",19,28,"1"],["A","SWAP",37,28],["A","ADD",20,27,"-1"],["A","ADD",19,27,"-1"],["A","SWAP",36,27],["A","ADD",20,26,"1"],["A","ADD",19,26,"1"],["A","SWAP",35,26],["A","ADD",20,25,"-1"],["A","ADD",19,25,"-1"],["A","SWAP",34,25],["A","ADD",20,24,"1"],["A","ADD",19,24,"1"],["A","SWAP",33,24],["A","ADD",20,23,"-1"],["A","ADD",19,23,"-1"],["A","SWAP",32,23],["A","ADD",20,22,"1"],["A","ADD",19,22,"1"],["A","SWAP",31,22],["A","ADD",20,21,"-1"],["A","ADD",19,21,"-1"],["A","SWAP",30,21],["A","ADD",19,20,"-1"],["A","SCALE",20,"-1"],["A","SWAP",29,20],["A","SCALE",19,"-1"],["A","SWAP",20,19],["A","ADD",19,20,"-2"],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",54,[9]],["B","IDLE_ONE",55,[9]],["B","IDLE_ONE",56,[9]],["B","IDLE_ONE",57,[9]],["B","ADD",56,75,"1"],["B","ADD",55,75,"1"],["B","ADD",53,75,"1"],["B","ADD",51,75,"1"],["B","ADD",49,75,"1"],["B","ADD",47,75,"1"],["B","ADD",45,75,"1"],["B","ADD",43,75,"1"],["B","ADD",41,75,"1"],["B","ADD",39,75,"-128"],["B","ADD",38,75,"64"],["B","ADD",56,73,"-1"],["B","ADD",55,73,"-1"],["B","ADD",53,73,"-1"],["B","ADD",51,73,"-1"],["B","ADD",49,73,"-1"],["B","ADD",47,73,"-1"],["B","ADD",45,73,"-1"],["B","ADD",43,73,"-1"],["B","ADD",41,73,"-1"],["B","ADD",39,73,"128"],["B","ADD",38,73,"-64"],["B","ADD",56,72,"2"],["B","ADD",55,72,"2"],["B","ADD",53,72,"2"],["B","ADD",51,72,"2"],["B","ADD",49,72,"2"],["B","ADD",47,72,"2"],["B","ADD",45,72,"2"],["B","ADD",43,72,"2"],["B","ADD",41,72,"2"],["B","ADD",39,72,"-256"],["B","ADD",38,72,"128"],["B","ADD",56,71,"-1"],["B","ADD",55,71,"-1"],["B","ADD",53,71,"-1"],["B","ADD",51,71,"-1"],["B","ADD",49,71,"-1"],["B","ADD",47,71,"-1"],["B","ADD",45,71,"-1"],["B","ADD",43,71,"-1"],["B","ADD",41,71,"-1"],["B","ADD",39,71,"128"],["B","ADD",38,71,"-64"],["B","ADD",56,69,"1"],["B","ADD",55,69,"1"],["B","ADD",53,69,"1"],["B","ADD",51,69,"1"],["B","ADD",49,69,"1"],["B","ADD",47,69,"1"],["B","ADD",45,69,"1"],["B","ADD",43,69,"1"],["B","ADD",41,69,"1"],["B","ADD",39,69,"-128"],["B","ADD",38,69,"64"],["B","ADD",56,68,"-2"],["B","ADD",55,68,"-2"],["B","ADD",53,68,"-2"],["B","ADD",51,68,"-2"],["B","ADD",49,68,"-2"],["B","ADD",47,68,"-2"],["B","ADD",45,68,"-2"],["B","ADD",43,68,"-2"],["B","ADD",41,68,"-2"],["B","ADD",39,68,"256"],["B","ADD",38,68,"-128"],["B","ADD",56,67,"1"],["B","ADD",55,67,"1"],["B","ADD",53,67,"1"],["B","ADD",51,67,"1"],["B","ADD",49,67,"1"],["B","ADD",47,67,"1"],["B","ADD",45,67,"1"],["B","ADD",43,67,"1"],["B","ADD",41,67,"1"],["B","ADD",39,67,"-128"],["B","ADD",38,67,"64"],["B","ADD",56,65,"-1"],["B","ADD",55,65,"-1"],["B","ADD",53,65,"-1"],["B","ADD",51,65,"-1"],["B","ADD",49,65,"-1"],["B","ADD",47,65,"-1"],["B","ADD",45,65,"-1"],["B","ADD",43,65,"-1"],["B","ADD",41,65,"-1"],["B","ADD",39,65,"128"],["B","ADD",38,65,"-64"],["B","ADD",56,64,"2"],["B","ADD",55,64,"2"],["B","ADD",53,64,"2"],["B","ADD",51,64,"2"],["B","ADD",49,64,"2"],["B","ADD",47,64,"2"],["B","ADD",45,64,"2"],["B","ADD",43,64,"2"],["B","ADD",41,64,"2"],["B","ADD",39,64,"-256"],["B","ADD",38,64,"128"],["B","ADD",56,63,"-1"],["B","ADD",55,63,"-1"],["B","ADD",53,63,"-1"],["B","ADD",51,63,"-1"],["B","ADD",49,63,"-1"],["B","ADD",47,63,"-1"],["B","ADD",45,63,"-1"],["B","ADD",43,63,"-1"],["B","ADD",41,63,"-1"],["B","ADD",39,63,"128"],["B","ADD",38,63,"-64"],["B","ADD",56,61,"1"],["B","ADD",55,61,"1"],["B","ADD",53,61,"1"],["B","ADD",51,61,"1"],["B","ADD",49,61,"1"],["B","ADD",47,61,"1"],["B","ADD",45,61,"1"],["B","ADD",43,61,"1"],["B","ADD",41,61,"1"],["B","ADD",39,61,"-128"],["B","ADD",38,61,"64"],["B","ADD",56,60,"-2"],["B","ADD",55,60,"-2"],["B","ADD",53,60,"-2"],["B","ADD",51,60,"-2"],["B","ADD",49,60,"-2"],["B","ADD",47,60,"-2"],["B","ADD",45,60,"-2"],["B","ADD",43,60,"-2"],["B","ADD",41,60,"-2"],["B","ADD",39,60,"256"],["B","ADD",38,60,"-128"],["B","ADD",56,59,"1"],["B","ADD",55,59,"1"],["B","ADD",53,59,"1"],["B","ADD",51,59,"1"],["B","ADD",49,59,"1"],["B","ADD",47,59,"1"],["B","ADD",45,59,"1"],["B","ADD",43,59,"1"],["B","ADD",41,59,"1"],["B","ADD",39,59,"-128"],["B","ADD",38,59,"64"],["B","ADD",39,57,"256"],["B","ADD",38,57,"-128"],["B","ADD",55,56,"-3/2"],["B","ADD",53,56,"-1"],["B","ADD",51,56,"-1"],["B","ADD",49,56,"-1"],["B","ADD",47,56,"-1"],["B","ADD",45,56,"-1"],["B","ADD",43,56,"-1"],["B","ADD",41,56,"-1"],["B","ADD",39,56,"128"],["B","ADD",38,56,"-64"],["B","SCALE",56,"1/2"],["B","ADD",53,55,"-1"],["B","ADD",51,55,"-1"],["B","ADD",49,55,"-1"],["B","ADD",47,55,"-1"],["B","ADD",45,55,"-1"],["B","ADD",43,55,"-1"],["B","ADD",41,55,"-1"],["B","ADD",39,55,"128"],["B","ADD",38,55,"64"],["B","SCALE",55,"-1"],["B","ADD",57,55,"1"],["B","SWAP",55,56],["B","ADD",53,54,"1/2"],["B","ADD",51,54,"1/2"],["B","ADD",49,54,"1/2"],["B","ADD",47,54,"1/2"],["B","ADD",45,54,"1/2"],["B","ADD",43,54,"1/2"],["B","ADD",41,54,"1/2"],["B","ADD",39,54,"-64"],["B","ADD",38,54,"-32"],["B","ADD",57,54,"1/2"],["B","ADD",56,54,"1/2"],["B","ADD",55,54,"1/2"],["B","ADD",51,52,"-1/2"],["B","ADD",49,52,"-1/2"],["B","ADD",47,52,"-1/2"],["B","ADD",45,52,"-1/2"],["B","ADD",43,52,"-1/2"],["B","ADD",41,52,"-1/2"],["B","ADD",39,52,"64"],["B","ADD",38,52,"32"],["B","ADD",57,52,"-1/2"],["B","ADD",56,52,"-1/2"],["B","ADD",55,52,"-1/2"],["B","ADD",53,52,"-1/2"],["B","ADD",49,51,"-1"],["B","ADD",47,51,"-2"],["B","ADD",45,51,"-1"],["B","ADD",43,51,"-1"],["B","ADD",41,51,"-1"],["B","ADD",39,51,"128"],["B","ADD",38,51,"64"],["B","ADD",57,51,"-1"],["B","ADD",56,51,"-1"],["B","ADD",55,51,"-1"],["B","ADD",53,51,"-1"],["B","ADD",47,50,"1/2"],["B","ADD",51,50,"-1/2"],["B","ADD",47,49,"-1"],["B","ADD",45,49,"-1"],["B","ADD",43,49,"-1"],["B","ADD",41,49,"-1"],["B","ADD",39,49,"128"],["B","ADD",38,49,"64"],["B","SCALE",49,"-1"],["B","ADD",57,49,"1"],["B","ADD",56,49,"1"],["B","ADD",55,49,"1"],["B","ADD",53,49,"1"],["B","SWAP",49,51],["B","ADD",47,48,"-1/2"],["B","ADD",49,48,"1/2"],["B","ADD",45,47,"-1"],["B","ADD",43,47,"-1"],["B","ADD",41,47,"-1"],["B","ADD",39,47,"128"],["B","ADD",38,47,"64"],["B","SCALE",47,"-1"],["B","ADD",57,47,"1"],["B","ADD",56,47,"1"],["B","ADD",55,47,"1"],["B","ADD",53,47,"1"],["B","ADD",51,47,"1"],["B","SWAP",47,49],["B","ADD",45,46,"1/2"],["B","ADD",43,46,"1/2"],["B","ADD",41,46,"1/2"],["B","ADD",39,46,"-64"],["B","ADD",38,46,"-32"],["B","ADD",57,46,"1/2"],["B","ADD",56,46,"1/2"],["B","ADD",55,46,"1/2"],["B","ADD",53,46,"1/2"],["B","ADD",51,46,"1/2"],["B","ADD",49,46,"1/2"],["B","ADD",47,46,"1/2"],["B","ADD",43,44,"-1/2"],["B","ADD",41,44,"-1/2"],["B","ADD",39,44,"64"],["B","ADD",38,44,"32"],["B","ADD",57,44,"-1/2"],["B","ADD",56,44,"-1/2"],["B","ADD",55,44,"-1/2"],["B","ADD",53,44,"-1/2"],["B","ADD",51,44,"-1/2"],["B","ADD",49,44,"-1/2"],["B","ADD",47,44,"-1/2"],["B","ADD",45,44,"-1/2"],["B","ADD",41,43,"-1"],["B","ADD",39,43,"128"],["B","ADD",38,43,"64"],["B","SCALE",43,"2"],["B","ADD",57,43,"-1/2"],["B","ADD",56,43,"-1/2"],["B","ADD",55,43,"-1/2"],["B","ADD",53,43,"-1/2"],["B","ADD",51,43,"-1/2"],["B","ADD",49,43,"-1/2"],["B","ADD",47,43,"-1/2"],["B","ADD",45,43,"-1/2"],["B","ADD",43,42,"-1"],["B","ADD",39,41,"128"],["B","ADD",38,41,"64"],["B","SCALE",41,"-1"],["B","ADD",57,41,"1"],["B","ADD",56,41,"1"],["B","ADD",55,41,"1"],["B","ADD",53,41,"1"],["B","ADD",51,41,"1"],["B","ADD",49,41,"1"],["B","ADD",47,41,"1"],["B","ADD",45,41,"1"],["B","SWAP",41,43],["B","ADD",41,40,"1"],["B","ADD",38,39,"-1/2"],["B","SCALE",39,"1/128"],["B","ADD",57,39,"1"],["B","ADD",56,39,"1"],["B","ADD",55,39,"1"],["B","ADD",53,39,"1"],["B","ADD",51,39,"1"],["B","ADD",49,39,"1"],["B","ADD",47,39,"1"],["B","ADD",45,39,"1"],["B","ADD",43,39,"1"],["B","SWAP",39,41],["B","SCALE",38,"1/128"],["B","ADD",57,38,"2"],["B","ADD",56,38,"2"],["B","ADD",55,38,"1"],["B","ADD",53,38,"1"],["B","ADD",51,38,"1"],["B","ADD",49,38,"1"],["B","ADD",47,38,"1"],["B","ADD",45,38,"1"],["B","ADD",43,38,"1"],["B","ADD",41,38,"1"],["B","ADD",39,38,"1"],["B","LAMBDA",38,-1],["B","QUERY",38,39,-1],["B","LAMBDA",38,1],["B","ADD",38,39,"-1"],["B","ADD",39,75,"-1"],["B","ADD",39,73,"1"],["B","ADD",39,72,"-2"],["B","ADD",39,71,"1"],["B","ADD",39,69,"-1"],["B","ADD",39,68,"2"],["B","ADD",39,67,"-1"],["B","ADD",39,65,"1"],["B","ADD",39,64,"-2"],["B","ADD",39,63,"1"],["B","ADD",39,61,"-1"],["B","ADD",39,60,"2"],["B","ADD",39,59,"-1"],["B","ADD",39,56,"-1"],["B","ADD",39,55,"2"],["B","ADD",39,54,"-1"],["B","ADD",39,52,"1"],["B","ADD",39,51,"-2"],["B","ADD",39,50,"1"],["B","ADD",39,48,"-1"],["B","ADD",39,47,"2"],["B","ADD",39,46,"-1"],["B","ADD",39,44,"1"],["B","ADD",39,43,"-2"],["B","ADD",39,42,"1"],["B","ADD",39,40,"-1"],["B","ADD",38,39,"-1"],["B","ADD",57,39,"-1"],["B","ADD",56,39,"-2"],["B","ADD",55,39,"-1"],["B","ADD",54,39,"-2"],["B","ADD",53,39,"-1"],["B","ADD",52,39,"-2"],["B","ADD",51,39,"-1"],["B","ADD",50,39,"-2"],["B","ADD",49,39,"-1"],["B","ADD",48,39,"-2"],["B","ADD",47,39,"-1"],["B","ADD",46,39,"-2"],["B","ADD",45,39,"-1"],["B","ADD",44,39,"-2"],["B","ADD",43,39,"-1"],["B","ADD",42,39,"-2"],["B","ADD",41,39,"-1"],["B","ADD",40,39,"-2"],["B","SCALE",38,"1/2"],["B","ADD",74,38,"-1"],["B","ADD",72,38,"-1"],["B","ADD",70,38,"-1"],["B","ADD",68,38,"-1"],["B","ADD",66,38,"-1"],["B","ADD",64,38,"-1"],["B","ADD",62,38,"-1"],["B","ADD",60,38,"-1"],["B","ADD",58,38,"-1"],["B","ADD",57,38,"-1"],["B","ADD",56,38,"-2"],["B","ADD",55,38,"-1"],["B","ADD",54,38,"-2"],["B","ADD",53,38,"-1"],["B","ADD",52,38,"-2"],["B","ADD",51,38,"-1"],["B","ADD",50,38,"-2"],["B","ADD",49,38,"-1"],["B","ADD",48,38,"-2"],["B","ADD",47,38,"-1"],["B","ADD",46,38,"-2"],["B","ADD",45,38,"-1"],["B","ADD",44,38,"-2"],["B","ADD",43,38,"-1"],["B","ADD",42,38,"-2"],["B","ADD",41,38,"-1"],["B","ADD",40,38,"-2"],["B","ADD",39,38,"1"],["B","LAMBDA",38,-1],["B","QUERY",38,39,-1],["B","LAMBDA",38,1],["B","ADD",38,39,"-1"],["B","SCALE",38,"2"],["B","ADD",75,38,"-1"],["B","ADD",74,38,"-1/2"],["B","ADD",73,38,"-1"],["B","ADD",72,38,"-1/2"],["B","ADD",71,38,"-1"],["B","ADD",70,38,"-1/2"],["B","ADD",69,38,"-1"],["B","ADD",68,38,"-1/2"],["B","ADD",67,38,"-1"],["B","ADD",66,38,"-1/2"],["B","ADD",65,38,"-1"],["B","ADD",64,38,"-1/2"],["B","ADD",63,38,"-1"],["B","ADD",62,38,"-1/2"],["B","ADD",61,38,"-1"],["B","ADD",60,38,"-1/2"],["B","ADD",59,38,"-1"],["B","ADD",58,38,"-1/2"],["B","ADD",57,38,"-1/2"],["B","ADD",55,38,"-1/2"],["B","ADD",53,38,"-1/2"],["B","ADD",51,38,"-1/2"],["B","ADD",49,38,"-1/2"],["B","ADD",47,38,"-1/2"],["B","ADD",45,38,"-1/2"],["B","ADD",43,38,"-1/2"],["B","ADD",41,38,"-1/2"],["B","ADD",39,38,"1/2"],["B","LAMBDA",38,-1],["B","QUERY",38,39,-1],["B","LAMBDA",38,1],["B","ADD",38,39,"-1"],["B","ADD",74,75,"-1/2"],["B","ADD",73,75,"-1"],["B","ADD",72,75,"-1"],["B","ADD",71,75,"-1"],["B","ADD",70,75,"-1"],["B","ADD",69,75,"-1"],["B","ADD",68,75,"-1"],["B","ADD",67,75,"-1"],["B","ADD",66,75,"-1"],["B","ADD",65,75,"-1"],["B","ADD",64,75,"-1"],["B","ADD",63,75,"-1"],["B","ADD",62,75,"-1"],["B","ADD",61,75,"-1"],["B","ADD",60,75,"-1"],["B","ADD",59,75,"-1"],["B","ADD",58,75,"-1"],["B","ADD",56,75,"1"],["B","ADD",54,75,"1"],["B","ADD",52,75,"1"],["B","ADD",50,75,"1"],["B","ADD",48,75,"1"],["B","ADD",46,75,"1"],["B","ADD",44,75,"1"],["B","ADD",42,75,"1"],["B","ADD",40,75,"1"],["B","ADD",38,75,"1"],["B","SCALE",75,"-1/2"],["B","ADD",73,74,"2"],["B","ADD",72,74,"2"],["B","ADD",71,74,"2"],["B","ADD",70,74,"2"],["B","ADD",69,74,"2"],["B","ADD",68,74,"2"],["B","ADD",67,74,"2"],["B","ADD",66,74,"2"],["B","ADD",65,74,"2"],["B","ADD",64,74,"2"],["B","ADD",63,74,"2"],["B","ADD",62,74,"2"],["B","ADD",61,74,"2"],["B","ADD",60,74,"2"],["B","ADD",59,74,"2"],["B","ADD",58,74,"2"],["B","ADD",56,74,"-2"],["B","ADD",54,74,"-2"],["B","ADD",52,74,"-2"],["B","ADD",50,74,"-2"],["B","ADD",48,74,"-2"],["B","ADD",46,74,"-2"],["B","ADD",44,74,"-2"],["B","ADD",42,74,"-2"],["B","ADD",40,74,"-2"],["B","ADD",38,74,"-2"],["B","SCALE",74,"2"],["B","ADD",75,74,"3/2"],["B","SWAP",74,75],["B","ADD",71,72,"-1/2"],["B","ADD",70,72,"-1"],["B","ADD",69,72,"-1"],["B","ADD",68,72,"-1"],["B","ADD",67,72,"-1"],["B","ADD",66,72,"-1"],["B","ADD",65,72,"-1"],["B","ADD",64,72,"-1"],["B","ADD",63,72,"-1"],["B","ADD",62,72,"-1"],["B","ADD",61,72,"-1"],["B","ADD",60,72,"-1"],["B","ADD",59,72,"-1"],["B","ADD",58,72,"-1"],["B","ADD",56,72,"1"],["B","ADD",54,72,"1"],["B","ADD",52,72,"1"],["B","ADD",50,72,"1"],["B","ADD",48,72,"1"],["B","ADD",46,72,"1"],["B","ADD",44,72,"1"],["B","ADD",42,72,"1"],["B","ADD",40,72,"1"],["B","ADD",38,72,"1"],["B","SCALE",72,"-1/2"],["B","ADD",75,72,"2"],["B","ADD",74,72,"2"],["B","ADD",73,72,"2"],["B","ADD",70,71,"2"],["B","ADD",69,71,"2"],["B","ADD",68,71,"2"],["B","ADD",67,71,"2"],["B","ADD",66,71,"2"],["B","ADD",65,71,"2"],["B","ADD",64,71,"2"],["B","ADD",63,71,"2"],["B","ADD",62,71,"2"],["B","ADD",61,71,"2"],["B","ADD",60,71,"2"],["B","ADD",59,71,"2"],["B","ADD",58,71,"2"],["B","ADD",56,71,"-2"],["B","ADD",54,71,"-2"],["B","ADD",52,71,"-2"],["B","ADD",50,71,"-2"],["B","ADD",48,71,"-2"],["B","ADD",46,71,"-2"],["B","ADD",44,71,"-2"],["B","ADD",42,71,"-2"],["B","ADD",40,71,"-2"],["B","ADD",38,71,"-2"],["B","SCALE",71,"2"],["B","ADD",75,71,"1"],["B","ADD",74,71,"1"],["B","ADD",73,71,"1"],["B","ADD",72,71,"3/2"],["B","SWAP",71,72],["B","ADD",69,70,"-1"],["B","ADD",68,70,"-1/2"],["B","ADD",67,70,"-1"],["B","ADD",66,70,"-1"],["B","ADD",65,70,"-1"],["B","ADD",64,70,"-1"],["B","ADD",63,70,"-1"],["B","ADD",62,70,"-1"],["B","ADD",61,70,"-1"],["B","ADD",60,70,"-1"],["B","ADD",59,70,"-1"],["B","ADD",58,70,"-1"],["B","ADD",56,70,"1"],["B","ADD",54,70,"1"],["B","ADD",52,70,"1"],["B","ADD",50,70,"1"],["B","ADD",48,70,"1"],["B","ADD",46,70,"1"],["B","ADD",44,70,"1"],["B","ADD",42,70,"1"],["B","ADD",40,70,"1"],["B","ADD",38,70,"1"],["B","SCALE",70,"-1/2"],["B","ADD",75,70,"2"],["B","ADD",74,70,"2"],["B","ADD",73,70,"2"],["B","ADD",72,70,"2"],["B","ADD",71,70,"2"],["B","ADD",68,69,"1/2"],["B","ADD",67,69,"-1"],["B","ADD",66,69,"-1"],["B","ADD",65,69,"-1"],["B","ADD",64,69,"-1"],["B","ADD",63,69,"-1"],["B","ADD",62,69,"-1"],["B","ADD",61,69,"-1"],["B","ADD",60,69,"-1"],["B","ADD",59,69,"-1"],["B","ADD",58,69,"-1"],["B","ADD",56,69,"1"],["B","ADD",54,69,"1"],["B","ADD",52,69,"1"],["B","ADD",50,69,"1"],["B","ADD",48,69,"1"],["B","ADD",46,69,"1"],["B","ADD",44,69,"1"],["B","ADD",42,69,"1"],["B","ADD",40,69,"1"],["B","ADD",38,69,"1"],["B","SCALE",69,"-1"],["B","ADD",75,69,"1"],["B","ADD",74,69,"1"],["B","ADD",73,69,"1"],["B","ADD",72,69,"1"],["B","ADD",71,69,"1"],["B","ADD",70,69,"3/2"],["B","SWAP",69,70],["B","ADD",67,68,"2"],["B","ADD",66,68,"2"],["B","ADD",65,68,"2"],["B","ADD",64,68,"2"],["B","ADD",63,68,"2"],["B","ADD",62,68,"2"],["B","ADD",61,68,"2"],["B","ADD",60,68,"2"],["B","ADD",59,68,"2"],["B","ADD",58,68,"2"],["B","ADD",56,68,"-2"],["B","ADD",54,68,"-2"],["B","ADD",52,68,"-2"],["B","ADD",50,68,"-2"],["B","ADD",48,68,"-2"],["B","ADD",46,68,"-2"],["B","ADD",44,68,"-2"],["B","ADD",42,68,"-2"],["B","ADD",40,68,"-2"],["B","ADD",38,68,"-2"],["B","SCALE",68,"2"],["B","ADD",75,68,"1"],["B","ADD",74,68,"1"],["B","ADD",73,68,"1"],["B","ADD",72,68,"1"],["B","ADD",71,68,"1"],["B","ADD",70,68,"1"],["B","ADD",69,68,"3/2"],["B","SWAP",68,69],["B","ADD",66,67,"-1/2"],["B","ADD",65,67,"-1"],["B","ADD",64,67,"-1"],["B","ADD",63,67,"-1"],["B","ADD",62,67,"-1"],["B","ADD",61,67,"-1"],["B","ADD",60,67,"-1"],["B","ADD",59,67,"-1"],["B","ADD",58,67,"-1"],["B","ADD",56,67,"1"],["B","ADD",54,67,"1"],["B","ADD",52,67,"1"],["B","ADD",50,67,"1"],["B","ADD",48,67,"1"],["B","ADD",46,67,"1"],["B","ADD",44,67,"1"],["B","ADD",42,67,"1"],["B","ADD",40,67,"1"],["B","ADD",38,67,"1"],["B","SCALE",67,"-1/2"],["B","ADD",75,67,"2"],["B","ADD",74,67,"2"],["B","ADD",73,67,"2"],["B","ADD",72,67,"2"],["B","ADD",71,67,"2"],["B","ADD",70,67,"2"],["B","ADD",69,67,"2"],["B","ADD",68,67,"2"],["B","ADD",65,66,"2"],["B","ADD",64,66,"2"],["B","ADD",63,66,"2"],["B","ADD",62,66,"2"],["B","ADD",61,66,"2"],["B","ADD",60,66,"2"],["B","ADD",59,66,"2"],["B","ADD",58,66,"2"],["B","ADD",56,66,"-2"],["B","ADD",54,66,"-2"],["B","ADD",52,66,"-2"],["B","ADD",50,66,"-2"],["B","ADD",48,66,"-2"],["B","ADD",46,66,"-2"],["B","ADD",44,66,"-2"],["B","ADD",42,66,"-2"],["B","ADD",40,66,"-2"],["B","ADD",38,66,"-2"],["B","SCALE",66,"2"],["B","ADD",75,66,"1"],["B","ADD",74,66,"1"],["B","ADD",73,66,"1"],["B","ADD",72,66,"1"],["B","ADD",71,66,"1"],["B","ADD",70,66,"1"],["B","ADD",69,66,"1"],["B","ADD",68,66,"1"],["B","ADD",67,66,"3/2"],["B","SWAP",66,67],["B","ADD",63,64,"-1/2"],["B","ADD",62,64,"-1"],["B","ADD",61,64,"-1"],["B","ADD",60,64,"-1"],["B","ADD",59,64,"-1"],["B","ADD",58,64,"-1"],["B","ADD",56,64,"1"],["B","ADD",54,64,"1"],["B","ADD",52,64,"1"],["B","ADD",50,64,"1"],["B","ADD",48,64,"1"],["B","ADD",46,64,"1"],["B","ADD",44,64,"1"],["B","ADD",42,64,"1"],["B","ADD",40,64,"1"],["B","ADD",38,64,"1"],["B","SCALE",64,"-1/2"],["B","ADD",75,64,"2"],["B","ADD",74,64,"2"],["B","ADD",73,64,"2"],["B","ADD",72,64,"2"],["B","ADD",71,64,"2"],["B","ADD",70,64,"2"],["B","ADD",69,64,"2"],["B","ADD",68,64,"2"],["B","ADD",67,64,"2"],["B","ADD",66,64,"2"],["B","ADD",65,64,"2"],["B","ADD",62,63,"2"],["B","ADD",61,63,"2"],["B","ADD",60,63,"2"],["B","ADD",59,63,"2"],["B","ADD",58,63,"2"],["B","ADD",56,63,"-2"],["B","ADD",54,63,"-2"],["B","ADD",52,63,"-2"],["B","ADD",50,63,"-2"],["B","ADD",48,63,"-2"],["B","ADD",46,63,"-2"],["B","ADD",44,63,"-2"],["B","ADD",42,63,"-2"],["B","ADD",40,63,"-2"],["B","ADD",38,63,"-2"],["B","SCALE",63,"2"],["B","ADD",75,63,"1"],["B","ADD",74,63,"1"],["B","ADD",73,63,"1"],["B","ADD",72,63,"1"],["B","ADD",71,63,"1"],["B","ADD",70,63,"1"],["B","ADD",69,63,"1"],["B","ADD",68,63,"1"],["B","ADD",67,63,"1"],["B","ADD",66,63,"1"],["B","ADD",65,63,"1"],["B","ADD",64,63,"3/2"],["B","SWAP",63,64],["B","ADD",61,62,"-1"],["B","ADD",60,62,"-1/2"],["B","ADD",59,62,"-1"],["B","ADD",58,62,"-1"],["B","ADD",56,62,"1"],["B","ADD",54,62,"1"],["B","ADD",52,62,"1"],["B","ADD",50,62,"1"],["B","ADD",48,62,"1"],["B","ADD",46,62,"1"],["B","ADD",44,62,"1"],["B","ADD",42,62,"1"],["B","ADD",40,62,"1"],["B","ADD",38,62,"1"],["B","SCALE",62,"-1/2"],["B","ADD",75,62,"2"],["B","ADD",74,62,"2"],["B","ADD",73,62,"2"],["B","ADD",72,62,"2"],["B","ADD",71,62,"2"],["B","ADD",70,62,"2"],["B","ADD",69,62,"2"],["B","ADD",68,62,"2"],["B","ADD",67,62,"2"],["B","ADD",66,62,"2"],["B","ADD",65,62,"2"],["B","ADD",64,62,"2"],["B","ADD",63,62,"2"],["B","ADD",60,61,"1/2"],["B","ADD",59,61,"-1"],["B","ADD",58,61,"-1"],["B","ADD",56,61,"1"],["B","ADD",54,61,"1"],["B","ADD",52,61,"1"],["B","ADD",50,61,"1"],["B","ADD",48,61,"1"],["B","ADD",46,61,"1"],["B","ADD",44,61,"1"],["B","ADD",42,61,"1"],["B","ADD",40,61,"1"],["B","ADD",38,61,"1"],["B","SCALE",61,"-1"],["B","ADD",75,61,"1"],["B","ADD",74,61,"1"],["B","ADD",73,61,"1"],["B","ADD",72,61,"1"],["B","ADD",71,61,"1"],["B","ADD",70,61,"1"],["B","ADD",69,61,"1"],["B","ADD",68,61,"1"],["B","ADD",67,61,"1"],["B","ADD",66,61,"1"],["B","ADD",65,61,"1"],["B","ADD",64,61,"1"],["B","ADD",63,61,"1"],["B","ADD",62,61,"3/2"],["B","SWAP",61,62],["B","ADD",59,60,"2"],["B","ADD",58,60,"2"],["B","ADD",56,60,"-2"],["B","ADD",54,60,"-2"],["B","ADD",52,60,"-2"],["B","ADD",50,60,"-2"],["B","ADD",48,60,"-2"],["B","ADD",46,60,"-2"],["B","ADD",44,60,"-2"],["B","ADD",42,60,"-2"],["B","ADD",40,60,"-2"],["B","ADD",38,60,"-2"],["B","SCALE",60,"2"],["B","ADD",75,60,"1"],["B","ADD",74,60,"1"],["B","ADD",73,60,"1"],["B","ADD",72,60,"1"],["B","ADD",71,60,"1"],["B","ADD",70,60,"1"],["B","ADD",69,60,"1"],["B","ADD",68,60,"1"],["B","ADD",67,60,"1"],["B","ADD",66,60,"1"],["B","ADD",65,60,"1"],["B","ADD",64,60,"1"],["B","ADD",63,60,"1"],["B","ADD",62,60,"1"],["B","ADD",61,60,"3/2"],["B","SWAP",60,61],["B","ADD",58,59,"-1/2"],["B","ADD",56,59,"1"],["B","ADD",54,59,"1"],["B","ADD",52,59,"1"],["B","ADD",50,59,"1"],["B","ADD",48,59,"1"],["B","ADD",46,59,"1"],["B","ADD",44,59,"1"],["B","ADD",42,59,"1"],["B","ADD",40,59,"1"],["B","ADD",38,59,"1"],["B","SCALE",59,"-1/2"],["B","ADD",75,59,"2"],["B","ADD",74,59,"2"],["B","ADD",73,59,"2"],["B","ADD",72,59,"2"],["B","ADD",71,59,"2"],["B","ADD",70,59,"2"],["B","ADD",69,59,"2"],["B","ADD",68,59,"2"],["B","ADD",67,59,"2"],["B","ADD",66,59,"2"],["B","ADD",65,59,"2"],["B","ADD",64,59,"2"],["B","ADD",63,59,"2"],["B","ADD",62,59,"2"],["B","ADD",61,59,"2"],["B","ADD",60,59,"2"],["B","ADD",56,58,"-2"],["B","ADD",54,58,"-2"],["B","ADD",52,58,"-2"],["B","ADD",50,58,"-2"],["B","ADD",48,58,"-2"],["B","ADD",46,58,"-2"],["B","ADD",44,58,"-2"],["B","ADD",42,58,"-2"],["B","ADD",40,58,"-2"],["B","ADD",38,58,"-2"],["B","SCALE",58,"2"],["B","ADD",75,58,"1"],["B","ADD",74,58,"1"],["B","ADD",73,58,"1"],["B","ADD",72,58,"1"],["B","ADD",71,58,"1"],["B","ADD",70,58,"1"],["B","ADD",69,58,"1"],["B","ADD",68,58,"1"],["B","ADD",67,58,"1"],["B","ADD",66,58,"1"],["B","ADD",65,58,"1"],["B","ADD",64,58,"1"],["B","ADD",63,58,"1"],["B","ADD",62,58,"1"],["B","ADD",61,58,"1"],["B","ADD",60,58,"1"],["B","ADD",59,58,"3/2"],["B","SWAP",58,59],["B","ADD",56,57,"-2"],["B","ADD",54,57,"-2"],["B","ADD",52,57,"-2"],["B","ADD",50,57,"-2"],["B","ADD",48,57,"-2"],["B","ADD",46,57,"-2"],["B","ADD",44,57,"-2"],["B","ADD",42,57,"-2"],["B","ADD",40,57,"-2"],["B","ADD",38,57,"-2"],["B","ADD",75,57,"2"],["B","ADD",74,57,"2"],["B","ADD",73,57,"2"],["B","ADD",72,57,"2"],["B","ADD",71,57,"2"],["B","ADD",70,57,"2"],["B","ADD",69,57,"2"],["B","ADD",68,57,"2"],["B","ADD",67,57,"2"],["B","ADD",66,57,"2"],["B","ADD",65,57,"2"],["B","ADD",64,57,"2"],["B","ADD",63,57,"2"],["B","ADD",62,57,"2"],["B","ADD",61,57,"2"],["B","ADD",60,57,"2"],["B","ADD",59,57,"2"],["B","ADD",58,57,"2"],["B","ADD",54,56,"-2"],["B","ADD",52,56,"-2"],["B","ADD",50,56,"-2"],["B","ADD",48,56,"-2"],["B","ADD",46,56,"-2"],["B","ADD",44,56,"-2"],["B","ADD",42,56,"-2"],["B","ADD",40,56,"-2"],["B","ADD",38,56,"-2"],["B","SCALE",56,"-1"],["B","ADD",75,56,"-2"],["B","ADD",74,56,"-2"],["B","ADD",73,56,"-2"],["B","ADD",72,56,"-2"],["B","ADD",71,56,"-2"],["B","ADD",70,56,"-2"],["B","ADD",69,56,"-2"],["B","ADD",68,56,"-2"],["B","ADD",67,56,"-2"],["B","ADD",66,56,"-2"],["B","ADD",65,56,"-2"],["B","ADD",64,56,"-2"],["B","ADD",63,56,"-2"],["B","ADD",62,56,"-2"],["B","ADD",61,56,"-2"],["B","ADD",60,56,"-2"],["B","ADD",59,56,"-2"],["B","ADD",58,56,"-2"],["B","ADD",54,55,"2"],["B","ADD",52,55,"2"],["B","ADD",50,55,"2"],["B","ADD",48,55,"2"],["B","ADD",46,55,"2"],["B","ADD",44,55,"2"],["B","ADD",42,55,"2"],["B","ADD",40,55,"2"],["B","ADD",38,55,"2"],["B","ADD",75,55,"-2"],["B","ADD",74,55,"-2"],["B","ADD",73,55,"-2"],["B","ADD",72,55,"-2"],["B","ADD",71,55,"-2"],["B","ADD",70,55,"-2"],["B","ADD",69,55,"-2"],["B","ADD",68,55,"-2"],["B","ADD",67,55,"-2"],["B","ADD",66,55,"-2"],["B","ADD",65,55,"-2"],["B","ADD",64,55,"-2"],["B","ADD",63,55,"-2"],["B","ADD",62,55,"-2"],["B","ADD",61,55,"-2"],["B","ADD",60,55,"-2"],["B","ADD",59,55,"-2"],["B","ADD",58,55,"-2"],["B","ADD",56,55,"2"],["B","ADD",52,53,"-2"],["B","ADD",50,53,"-2"],["B","ADD",48,53,"-2"],["B","ADD",46,53,"-2"],["B","ADD",44,53,"-2"],["B","ADD",42,53,"-2"],["B","ADD",40,53,"-2"],["B","ADD",38,53,"-2"],["B","ADD",75,53,"2"],["B","ADD",74,53,"2"],["B","ADD",73,53,"2"],["B","ADD",72,53,"2"],["B","ADD",71,53,"2"],["B","ADD",70,53,"2"],["B","ADD",69,53,"2"],["B","ADD",68,53,"2"],["B","ADD",67,53,"2"],["B","ADD",66,53,"2"],["B","ADD",65,53,"2"],["B","ADD",64,53,"2"],["B","ADD",63,53,"2"],["B","ADD",62,53,"2"],["B","ADD",61,53,"2"],["B","ADD",60,53,"2"],["B","ADD",59,53,"2"],["B","ADD",58,53,"2"],["B","ADD",56,53,"-2"],["B","ADD",54,53,"-2"],["B","ADD",50,52,"-2"],["B","ADD",48,52,"-2"],["B","ADD",46,52,"-2"],["B","ADD",44,52,"-2"],["B","ADD",42,52,"-2"],["B","ADD",40,52,"-2"],["B","ADD",38,52,"-2"],["B","SCALE",52,"-1"],["B","ADD",75,52,"-2"],["B","ADD",74,52,"-2"],["B","ADD",73,52,"-2"],["B","ADD",72,52,"-2"],["B","ADD",71,52,"-2"],["B","ADD",70,52,"-2"],["B","ADD",69,52,"-2"],["B","ADD",68,52,"-2"],["B","ADD",67,52,"-2"],["B","ADD",66,52,"-2"],["B","ADD",65,52,"-2"],["B","ADD",64,52,"-2"],["B","ADD",63,52,"-2"],["B","ADD",62,52,"-2"],["B","ADD",61,52,"-2"],["B","ADD",60,52,"-2"],["B","ADD",59,52,"-2"],["B","ADD",58,52,"-2"],["B","ADD",56,52,"2"],["B","ADD",54,52,"2"],["B","ADD",50,51,"2"],["B","ADD",48,51,"2"],["B","ADD",46,51,"2"],["B","ADD",44,51,"2"],["B","ADD",42,51,"2"],["B","ADD",40,51,"2"],["B","ADD",38,51,"2"],["B","ADD",75,51,"-2"],["B","ADD",74,51,"-2"],["B","ADD",73,51,"-2"],["B","ADD",72,51,"-2"],["B","ADD",71,51,"-2"],["B","ADD",70,51,"-2"],["B","ADD",69,51,"-2"],["B","ADD",68,51,"-2"],["B","ADD",67,51,"-2"],["B","ADD",66,51,"-2"],["B","ADD",65,51,"-2"],["B","ADD",64,51,"-2"],["B","ADD",63,51,"-2"],["B","ADD",62,51,"-2"],["B","ADD",61,51,"-2"],["B","ADD",60,51,"-2"],["B","ADD",59,51,"-2"],["B","ADD",58,51,"-2"],["B","ADD",56,51,"2"],["B","ADD",54,51,"2"],["B","ADD",52,51,"2"],["B","ADD",48,49,"-2"],["B","ADD",46,49,"-2"],["B","ADD",44,49,"-2"],["B","ADD",42,49,"-2"],["B","ADD",40,49,"-2"],["B","ADD",38,49,"-2"],["B","ADD",75,49,"2"],["B","ADD",74,49,"2"],["B","ADD",73,49,"2"],["B","ADD",72,49,"2"],["B","ADD",71,49,"2"],["B","ADD",70,49,"2"],["B","ADD",69,49,"2"],["B","ADD",68,49,"2"],["B","ADD",67,49,"2"],["B","ADD",66,49,"2"],["B","ADD",65,49,"2"],["B","ADD",64,49,"2"],["B","ADD",63,49,"2"],["B","ADD",62,49,"2"],["B","ADD",61,49,"2"],["B","ADD",60,49,"2"],["B","ADD",59,49,"2"],["B","ADD",58,49,"2"],["B","ADD",56,49,"-2"],["B","ADD",54,49,"-2"],["B","ADD",52,49,"-2"],["B","ADD",50,49,"-2"],["B","ADD",46,48,"-2"],["B","ADD",44,48,"-2"],["B","ADD",42,48,"-2"],["B","ADD",40,48,"-2"],["B","ADD",38,48,"-2"],["B","SCALE",48,"-1"],["B","ADD",75,48,"-2"],["B","ADD",74,48,"-2"],["B","ADD",73,48,"-2"],["B","ADD",72,48,"-2"],["B","ADD",71,48,"-2"],["B","ADD",70,48,"-2"],["B","ADD",69,48,"-2"],["B","ADD",68,48,"-2"],["B","ADD",67,48,"-2"],["B","ADD",66,48,"-2"],["B","ADD",65,48,"-2"],["B","ADD",64,48,"-2"],["B","ADD",63,48,"-2"],["B","ADD",62,48,"-2"],["B","ADD",61,48,"-2"],["B","ADD",60,48,"-2"],["B","ADD",59,48,"-2"],["B","ADD",58,48,"-2"],["B","ADD",56,48,"2"],["B","ADD",54,48,"2"],["B","ADD",52,48,"2"],["B","ADD",50,48,"2"],["B","ADD",46,47,"2"],["B","ADD",44,47,"2"],["B","ADD",42,47,"2"],["B","ADD",40,47,"2"],["B","ADD",38,47,"2"],["B","ADD",75,47,"-2"],["B","ADD",74,47,"-2"],["B","ADD",73,47,"-2"],["B","ADD",72,47,"-2"],["B","ADD",71,47,"-2"],["B","ADD",70,47,"-2"],["B","ADD",69,47,"-2"],["B","ADD",68,47,"-2"],["B","ADD",67,47,"-2"],["B","ADD",66,47,"-2"],["B","ADD",65,47,"-2"],["B","ADD",64,47,"-2"],["B","ADD",63,47,"-2"],["B","ADD",62,47,"-2"],["B","ADD",61,47,"-2"],["B","ADD",60,47,"-2"],["B","ADD",59,47,"-2"],["B","ADD",58,47,"-2"],["B","ADD",56,47,"2"],["B","ADD",54,47,"2"],["B","ADD",52,47,"2"],["B","ADD",50,47,"2"],["B","ADD",48,47,"2"],["B","ADD",44,45,"-2"],["B","ADD",42,45,"-2"],["B","ADD",40,45,"-2"],["B","ADD",38,45,"-2"],["B","ADD",75,45,"2"],["B","ADD",74,45,"2"],["B","ADD",73,45,"2"],["B","ADD",72,45,"2"],["B","ADD",71,45,"2"],["B","ADD",70,45,"2"],["B","ADD",69,45,"2"],["B","ADD",68,45,"2"],["B","ADD",67,45,"2"],["B","ADD",66,45,"2"],["B","ADD",65,45,"2"],["B","ADD",64,45,"2"],["B","ADD",63,45,"2"],["B","ADD",62,45,"2"],["B","ADD",61,45,"2"],["B","ADD",60,45,"2"],["B","ADD",59,45,"2"],["B","ADD",58,45,"2"],["B","ADD",56,45,"-2"],["B","ADD",54,45,"-2"],["B","ADD",52,45,"-2"],["B","ADD",50,45,"-2"],["B","ADD",48,45,"-2"],["B","ADD",46,45,"-2"],["B","ADD",42,44,"-2"],["B","ADD",40,44,"-2"],["B","ADD",38,44,"-2"],["B","SCALE",44,"-1"],["B","ADD",75,44,"-2"],["B","ADD",74,44,"-2"],["B","ADD",73,44,"-2"],["B","ADD",72,44,"-2"],["B","ADD",71,44,"-2"],["B","ADD",70,44,"-2"],["B","ADD",69,44,"-2"],["B","ADD",68,44,"-2"],["B","ADD",67,44,"-2"],["B","ADD",66,44,"-2"],["B","ADD",65,44,"-2"],["B","ADD",64,44,"-2"],["B","ADD",63,44,"-2"],["B","ADD",62,44,"-2"],["B","ADD",61,44,"-2"],["B","ADD",60,44,"-2"],["B","ADD",59,44,"-2"],["B","ADD",58,44,"-2"],["B","ADD",56,44,"2"],["B","ADD",54,44,"2"],["B","ADD",52,44,"2"],["B","ADD",50,44,"2"],["B","ADD",48,44,"2"],["B","ADD",46,44,"2"],["B","ADD",42,43,"2"],["B","ADD",40,43,"2"],["B","ADD",38,43,"2"],["B","ADD",75,43,"-2"],["B","ADD",74,43,"-2"],["B","ADD",73,43,"-2"],["B","ADD",72,43,"-2"],["B","ADD",71,43,"-2"],["B","ADD",70,43,"-2"],["B","ADD",69,43,"-2"],["B","ADD",68,43,"-2"],["B","ADD",67,43,"-2"],["B","ADD",66,43,"-2"],["B","ADD",65,43,"-2"],["B","ADD",64,43,"-2"],["B","ADD",63,43,"-2"],["B","ADD",62,43,"-2"],["B","ADD",61,43,"-2"],["B","ADD",60,43,"-2"],["B","ADD",59,43,"-2"],["B","ADD",58,43,"-2"],["B","ADD",56,43,"2"],["B","ADD",54,43,"2"],["B","ADD",52,43,"2"],["B","ADD",50,43,"2"],["B","ADD",48,43,"2"],["B","ADD",46,43,"2"],["B","ADD",44,43,"2"],["B","ADD",40,41,"-2"],["B","ADD",38,41,"-2"],["B","ADD",75,41,"2"],["B","ADD",74,41,"2"],["B","ADD",73,41,"2"],["B","ADD",72,41,"2"],["B","ADD",71,41,"2"],["B","ADD",70,41,"2"],["B","ADD",69,41,"2"],["B","ADD",68,41,"2"],["B","ADD",67,41,"2"],["B","ADD",66,41,"2"],["B","ADD",65,41,"2"],["B","ADD",64,41,"2"],["B","ADD",63,41,"2"],["B","ADD",62,41,"2"],["B","ADD",61,41,"2"],["B","ADD",60,41,"2"],["B","ADD",59,41,"2"],["B","ADD",58,41,"2"],["B","ADD",56,41,"-2"],["B","ADD",54,41,"-2"],["B","ADD",52,41,"-2"],["B","ADD",50,41,"-2"],["B","ADD",48,41,"-2"],["B","ADD",46,41,"-2"],["B","ADD",44,41,"-2"],["B","ADD",42,41,"-2"],["B","ADD",38,40,"-2"],["B","SCALE",40,"-1"],["B","ADD",75,40,"-2"],["B","ADD",74,40,"-2"],["B","ADD",73,40,"-2"],["B","ADD",72,40,"-2"],["B","ADD",71,40,"-2"],["B","ADD",70,40,"-2"],["B","ADD",69,40,"-2"],["B","ADD",68,40,"-2"],["B","ADD",67,40,"-2"],["B","ADD",66,40,"-2"],["B","ADD",65,40,"-2"],["B","ADD",64,40,"-2"],["B","ADD",63,40,"-2"],["B","ADD",62,40,"-2"],["B","ADD",61,40,"-2"],["B","ADD",60,40,"-2"],["B","ADD",59,40,"-2"],["B","ADD",58,40,"-2"],["B","ADD",56,40,"2"],["B","ADD",54,40,"2"],["B","ADD",52,40,"2"],["B","ADD",50,40,"2"],["B","ADD",48,40,"2"],["B","ADD",46,40,"2"],["B","ADD",44,40,"2"],["B","ADD",42,40,"2"],["B","SCALE",39,"-1"],["B","ADD",75,39,"-2"],["B","ADD",74,39,"-2"],["B","ADD",73,39,"-2"],["B","ADD",72,39,"-2"],["B","ADD",71,39,"-2"],["B","ADD",70,39,"-2"],["B","ADD",69,39,"-2"],["B","ADD",68,39,"-2"],["B","ADD",67,39,"-2"],["B","ADD",66,39,"-2"],["B","ADD",65,39,"-2"],["B","ADD",64,39,"-2"],["B","ADD",63,39,"-2"],["B","ADD",62,39,"-2"],["B","ADD",61,39,"-2"],["B","ADD",60,39,"-2"],["B","ADD",59,39,"-2"],["B","ADD",58,39,"-2"],["B","SCALE",38,"1/2"],["B","ADD",75,38,"2"],["B","ADD",74,38,"2"],["B","ADD",73,38,"2"],["B","ADD",72,38,"2"],["B","ADD",71,38,"2"],["B","ADD",70,38,"2"],["B","ADD",69,38,"2"],["B","ADD",68,38,"2"],["B","ADD",67,38,"2"],["B","ADD",66,38,"2"],["B","ADD",65,38,"2"],["B","ADD",64,38,"2"],["B","ADD",63,38,"2"],["B","ADD",62,38,"2"],["B","ADD",61,38,"2"],["B","ADD",60,38,"2"],["B","ADD",59,38,"2"],["B","ADD",58,38,"2"],["B","ADD",56,38,"-2"],["B","ADD",54,38,"-2"],["B","ADD",52,38,"-2"],["B","ADD",50,38,"-2"],["B","ADD",48,38,"-2"],["B","ADD",46,38,"-2"],["B","ADD",44,38,"-2"],["B","ADD",42,38,"-2"],["B","ADD",40,38,"-2"],["B","SWAP",38,39],["B","LAMBDA",38,-1],["B","QUERY",38,39,-1],["B","LAMBDA",38,1],["B","ADD",38,39,"-1"],["B","ADD",39,75,"1"],["B","ADD",72,74,"-1"],["B","ADD",70,74,"-1"],["B","ADD",68,74,"-1"],["B","ADD",66,74,"-1"],["B","ADD",64,74,"-1"],["B","ADD",62,74,"-1"],["B","ADD",58,74,"-1/2"],["B","ADD",39,74,"1"],["B","SWAP",73,75],["B","ADD",39,72,"1"],["B","SWAP",72,74],["B","ADD",39,71,"-1"],["B","ADD",39,70,"1"],["B","ADD",39,68,"-1"],["B","ADD",39,67,"1"],["B","ADD",39,66,"-1"],["B","SWAP",65,69],["B","ADD",39,64,"1"],["B","SWAP",64,68],["B","ADD",39,63,"-1"],["B","SWAP",63,71],["B","ADD",39,62,"1"],["B","SWAP",62,70],["B","SWAP",61,75],["B","ADD",39,60,"-1"],["B","SWAP",60,74],["B","ADD",58,59,"-1"],["B","ADD",38,59,"1"],["B","SCALE",59,"-2"],["B","ADD",75,59,"1"],["B","ADD",74,59,"1"],["B","SWAP",59,73],["B","SCALE",58,"-2"],["B","ADD",72,58,"-1"],["B","ADD",70,58,"1"],["B","ADD",68,58,"1"],["B","ADD",66,58,"1"],["B","ADD",64,58,"1"],["B","ADD",62,58,"1"],["B","ADD",60,58,"1"],["B","ADD",39,57,"-1"],["B","ADD",39,56,"1"],["B","ADD",39,55,"-1"],["B","ADD",39,53,"1"],["B","ADD",39,52,"-1"],["B","ADD",39,51,"1"],["B","ADD",39,49,"-1"],["B","ADD",39,48,"1"],["B","ADD",39,47,"-1"],["B","ADD",39,45,"1"],["B","ADD",39,44,"-1"],["B","ADD",39,43,"1"],["B","ADD",39,41,"-1"],["B","ADD",39,40,"1"],["B","ADD",38,39,"1"],["B","SCALE",39,"-128"],["B","ADD",72,39,"1/64"],["B","ADD",70,39,"-1/64"],["B","ADD",68,39,"-1/64"],["B","ADD",66,39,"-1/64"],["B","ADD",64,39,"-1/64"],["B","ADD",62,39,"-1/64"],["B","ADD",60,39,"-1/64"],["B","ADD",58,39,"-1/64"],["B","SCALE",38,"128"],["B","ADD",75,38,"1/32"],["B","ADD",74,38,"1/64"],["B","ADD",73,38,"1/32"],["B","ADD",72,38,"-1/64"],["B","SWAP",38,39],["B","LAMBDA",38,-1],["J",10,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","ADD",0,1,"-1"],["A","IDLE_ONE",2,[10]],["A","IDLE_ONE",3,[10,11]],["A","IDLE_ONE",4,[10,11,12]],["A","IDLE_ONE",5,[10,11,12,13]],["A","IDLE_ONE",6,[10,11,12,13,14]],["A","IDLE_ONE",7,[10,11,12,13,14,15]],["A","IDLE_ONE",8,[10,11,12,13,14,15,16]],["A","IDLE_ONE",9,[10,11,12,13,14,15,16,17]],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","ADD",1,2,"-1"],["A","SCALE",2,"-1"],["A","SWAP",2,18],["A","SCALE",1,"-1"],["A","ADD",18,1,"2"],["A","ADD",18,0,"2"],["A","ADD",1,0,"1"],["A","SWAP",0,18],["A","LAMBDA",0,-1],["A","ADD",19,20,"-1"],["A","IDLE_ONE",21,[10]],["A","IDLE_ONE",22,[10,11]],["A","IDLE_ONE",23,[10,11,12]],["A","IDLE_ONE",24,[10,11,12,13]],["A","IDLE_ONE",25,[10,11,12,13,14]],["A","IDLE_ONE",26,[10,11,12,13,14,15]],["A","IDLE_ONE",27,[10,11,12,13,14,15,16]],["A","IDLE_ONE",28,[10,11,12,13,14,15,16,17]],["A","SWAP",36,37],["A","SWAP",35,37],["A","SWAP",34,37],["A","SWAP",33,37],["A","SWAP",32,37],["A","SWAP",31,37],["A","SWAP",30,37],["A","SWAP",29,37],["A","SWAP",28,37],["A","SWAP",27,37],["A","SWAP",26,37],["A","SWAP",25,37],["A","SWAP",24,37],["A","SWAP",23,37],["A","SWAP",22,37],["A","ADD",20,21,"-1"],["A","SCALE",21,"-1"],["A","SWAP",21,37],["A","ADD",37,20,"-2"],["A","ADD",37,19,"2"],["A","ADD",20,19,"-1"],["A","SWAP",19,37],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",58,[10,11,12,13,14,15,16,17]],["B","IDLE_ONE",59,[10,11,12,13,14,15,16,17]],["B","IDLE_ONE",60,[10,11,12,13,14,15,16]],["B","IDLE_ONE",61,[10,11,12,13,14,15,16]],["B","IDLE_ONE",62,[10,11,12,13,14,15]],["B","IDLE_ONE",63,[10,11,12,13,14,15]],["B","IDLE_ONE",64,[10,11,12,13,14]],["B","IDLE_ONE",65,[10,11,12,13,14]],["B","IDLE_ONE",66,[10,11,12,13]],["B","IDLE_ONE",67,[10,11,12,13]],["B","IDLE_ONE",68,[10,11,12]],["B","IDLE_ONE",69,[10,11,12]],["B","IDLE_ONE",70,[10,11]],["B","IDLE_ONE",71,[10,11]],["B","IDLE_ONE",72,[10]],["B","IDLE_ONE",73,[10]],["B","IDLE_ONE",74,[10]],["B","IDLE_ONE",75,[10]],["B","ADD",74,75,"-1/2"],["B","ADD",73,75,"-1"],["B","ADD",72,75,"1/2"],["B","ADD",39,75,"-64"],["B","SCALE",75,"1/4"],["B","ADD",72,74,"-2"],["B","SCALE",74,"2"],["B","ADD",75,74,"1/2"],["B","ADD",72,73,"3/2"],["B","ADD",39,73,"64"],["B","ADD",38,73,"64"],["B","SCALE",73,"2"],["B","ADD",75,73,"-5/8"],["B","ADD",74,73,"-3/2"],["B","SWAP",73,75],["B","ADD",38,72,"-64"],["B","ADD",74,72,"2"],["B","ADD",73,72,"3/2"],["B","SWAP",72,73],["B","SWAP",71,73],["B","SWAP",70,72],["B","SWAP",69,71],["B","SWAP",68,70],["B","SWAP",67,69],["B","SWAP",66,68],["B","SWAP",65,67],["B","SWAP",64,66],["B","SWAP",63,65],["B","SWAP",62,64],["B","SWAP",61,63],["B","SWAP",60,62],["B","SWAP",59,61],["B","SWAP",58,60],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",75,39,"1/32"],["B","ADD",74,39,"-1/64"],["B","ADD",59,39,"1/64"],["B","ADD",58,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",75,38,"-1/32"],["B","ADD",59,38,"-1/64"],["B","ADD",58,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",11,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","ADD",1,2,"-1"],["A","ADD",0,2,"-1"],["A","SCALE",2,"-1"],["A","SWAP",2,18],["A","ADD",0,1,"-1"],["A","SCALE",1,"-1"],["A","ADD",18,1,"2"],["A","ADD",18,0,"2"],["A","ADD",1,0,"1"],["A","SWAP",0,18],["A","LAMBDA",0,-1],["A","SWAP",36,37],["A","SWAP",35,37],["A","SWAP",34,37],["A","SWAP",33,37],["A","SWAP",32,37],["A","SWAP",31,37],["A","SWAP",30,37],["A","SWAP",29,37],["A","SWAP",28,37],["A","SWAP",27,37],["A","SWAP",26,37],["A","SWAP",25,37],["A","SWAP",24,37],["A","SWAP",23,37],["A","SWAP",22,37],["A","ADD",20,21,"-1"],["A","ADD",19,21,"-1"],["A","SCALE",21,"-1"],["A","SWAP",21,37],["A","ADD",19,20,"-1"],["A","ADD",37,20,"-2"],["A","ADD",37,19,"2"],["A","ADD",20,19,"-1"],["A","SWAP",19,37],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",74,[11]],["B","IDLE_ONE",75,[11]],["B","ADD",74,75,"1"],["B","ADD",72,75,"-1/4"],["B","ADD",39,75,"-64"],["B","SCALE",75,"-1/2"],["B","ADD",73,74,"1/2"],["B","ADD",72,74,"1/2"],["B","ADD",39,74,"64"],["B","ADD",38,74,"32"],["B","SWAP",74,75],["B","ADD",72,73,"-1/2"],["B","ADD",39,73,"-128"],["B","SCALE",73,"-1"],["B","ADD",75,73,"2"],["B","ADD",74,73,"-1"],["B","ADD",38,72,"128"],["B","SCALE",72,"-2"],["B","ADD",74,72,"1"],["B","ADD",73,72,"1"],["B","SWAP",71,73],["B","SWAP",70,72],["B","SWAP",69,71],["B","SWAP",68,70],["B","SWAP",67,69],["B","SWAP",66,68],["B","SWAP",65,67],["B","SWAP",64,66],["B","SWAP",63,65],["B","SWAP",62,64],["B","SWAP",61,63],["B","SWAP",60,62],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",75,39,"1/32"],["B","ADD",74,39,"-1/64"],["B","ADD",61,39,"1/64"],["B","ADD",60,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",75,38,"-1/32"],["B","ADD",61,38,"-1/64"],["B","ADD",60,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",12,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","ADD",1,2,"-1"],["A","ADD",0,2,"-1"],["A","SCALE",2,"-1"],["A","SWAP",2,18],["A","ADD",0,1,"-1"],["A","SCALE",1,"-1"],["A","ADD",18,1,"2"],["A","ADD",18,0,"2"],["A","ADD",1,0,"1"],["A","SWAP",0,18],["A","LAMBDA",0,-1],["A","SWAP",36,37],["A","SWAP",35,37],["A","SWAP",34,37],["A","SWAP",33,37],["A","SWAP",32,37],["A","SWAP",31,37],["A","SWAP",30,37],["A","SWAP",29,37],["A","SWAP",28,37],["A","SWAP",27,37],["A","SWAP",26,37],["A","SWAP",25,37],["A","SWAP",24,37],["A","SWAP",23,37],["A","SWAP",22,37],["A","ADD",20,21,"-1"],["A","ADD",19,21,"-1"],["A","SCALE",21,"-1"],["A","SWAP",21,37],["A","ADD",19,20,"-1"],["A","ADD",37,20,"-2"],["A","ADD",37,19,"2"],["A","ADD",20,19,"-1"],["A","SWAP",19,37],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",74,[12]],["B","IDLE_ONE",75,[12]],["B","ADD",74,75,"1"],["B","ADD",72,75,"-1/4"],["B","ADD",39,75,"-64"],["B","SCALE",75,"-1/2"],["B","ADD",73,74,"1/2"],["B","ADD",72,74,"1/2"],["B","ADD",39,74,"64"],["B","ADD",38,74,"32"],["B","SWAP",74,75],["B","ADD",72,73,"-1/2"],["B","ADD",39,73,"-128"],["B","SCALE",73,"-1"],["B","ADD",75,73,"2"],["B","ADD",74,73,"-1"],["B","ADD",38,72,"128"],["B","SCALE",72,"-2"],["B","ADD",74,72,"1"],["B","ADD",73,72,"1"],["B","SWAP",71,73],["B","SWAP",70,72],["B","SWAP",69,71],["B","SWAP",68,70],["B","SWAP",67,69],["B","SWAP",66,68],["B","SWAP",65,67],["B","SWAP",64,66],["B","SWAP",63,65],["B","SWAP",62,64],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",75,39,"1/32"],["B","ADD",74,39,"-1/64"],["B","ADD",63,39,"1/64"],["B","ADD",62,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",75,38,"-1/32"],["B","ADD",63,38,"-1/64"],["B","ADD",62,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",13,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","ADD",1,2,"-1"],["A","ADD",0,2,"-1"],["A","SCALE",2,"-1"],["A","SWAP",2,18],["A","ADD",0,1,"-1"],["A","SCALE",1,"-1"],["A","ADD",18,1,"2"],["A","ADD",18,0,"2"],["A","ADD",1,0,"1"],["A","SWAP",0,18],["A","LAMBDA",0,-1],["A","SWAP",36,37],["A","SWAP",35,37],["A","SWAP",34,37],["A","SWAP",33,37],["A","SWAP",32,37],["A","SWAP",31,37],["A","SWAP",30,37],["A","SWAP",29,37],["A","SWAP",28,37],["A","SWAP",27,37],["A","SWAP",26,37],["A","SWAP",25,37],["A","SWAP",24,37],["A","SWAP",23,37],["A","SWAP",22,37],["A","ADD",20,21,"-1"],["A","ADD",19,21,"-1"],["A","SCALE",21,"-1"],["A","SWAP",21,37],["A","ADD",19,20,"-1"],["A","ADD",37,20,"-2"],["A","ADD",37,19,"2"],["A","ADD",20,19,"-1"],["A","SWAP",19,37],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",74,[13]],["B","IDLE_ONE",75,[13]],["B","ADD",74,75,"1"],["B","ADD",72,75,"-1/4"],["B","ADD",39,75,"-64"],["B","SCALE",75,"-1/2"],["B","ADD",73,74,"1/2"],["B","ADD",72,74,"1/2"],["B","ADD",39,74,"64"],["B","ADD",38,74,"32"],["B","SWAP",74,75],["B","ADD",72,73,"-1/2"],["B","ADD",39,73,"-128"],["B","SCALE",73,"-1"],["B","ADD",75,73,"2"],["B","ADD",74,73,"-1"],["B","ADD",38,72,"128"],["B","SCALE",72,"-2"],["B","ADD",74,72,"1"],["B","ADD",73,72,"1"],["B","SWAP",71,73],["B","SWAP",70,72],["B","SWAP",69,71],["B","SWAP",68,70],["B","SWAP",67,69],["B","SWAP",66,68],["B","SWAP",65,67],["B","SWAP",64,66],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",75,39,"1/32"],["B","ADD",74,39,"-1/64"],["B","ADD",65,39,"1/64"],["B","ADD",64,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",75,38,"-1/32"],["B","ADD",65,38,"-1/64"],["B","ADD",64,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",14,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","ADD",1,2,"-1"],["A","ADD",0,2,"-1"],["A","SCALE",2,"-1"],["A","SWAP",2,18],["A","ADD",0,1,"-1"],["A","SCALE",1,"-1"],["A","ADD",18,1,"2"],["A","ADD",18,0,"2"],["A","ADD",1,0,"1"],["A","SWAP",0,18],["A","LAMBDA",0,-1],["A","SWAP",36,37],["A","SWAP",35,37],["A","SWAP",34,37],["A","SWAP",33,37],["A","SWAP",32,37],["A","SWAP",31,37],["A","SWAP",30,37],["A","SWAP",29,37],["A","SWAP",28,37],["A","SWAP",27,37],["A","SWAP",26,37],["A","SWAP",25,37],["A","SWAP",24,37],["A","SWAP",23,37],["A","SWAP",22,37],["A","ADD",20,21,"-1"],["A","ADD",19,21,"-1"],["A","SCALE",21,"-1"],["A","SWAP",21,37],["A","ADD",19,20,"-1"],["A","ADD",37,20,"-2"],["A","ADD",37,19,"2"],["A","ADD",20,19,"-1"],["A","SWAP",19,37],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",74,[14]],["B","IDLE_ONE",75,[14]],["B","ADD",74,75,"1"],["B","ADD",72,75,"-1/4"],["B","ADD",39,75,"-64"],["B","SCALE",75,"-1/2"],["B","ADD",73,74,"1/2"],["B","ADD",72,74,"1/2"],["B","ADD",39,74,"64"],["B","ADD",38,74,"32"],["B","SWAP",74,75],["B","ADD",72,73,"-1/2"],["B","ADD",39,73,"-128"],["B","SCALE",73,"-1"],["B","ADD",75,73,"2"],["B","ADD",74,73,"-1"],["B","ADD",38,72,"128"],["B","SCALE",72,"-2"],["B","ADD",74,72,"1"],["B","ADD",73,72,"1"],["B","SWAP",71,73],["B","SWAP",70,72],["B","SWAP",69,71],["B","SWAP",68,70],["B","SWAP",67,69],["B","SWAP",66,68],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",75,39,"1/32"],["B","ADD",74,39,"-1/64"],["B","ADD",67,39,"1/64"],["B","ADD",66,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",75,38,"-1/32"],["B","ADD",67,38,"-1/64"],["B","ADD",66,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",15,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","ADD",1,2,"-1"],["A","ADD",0,2,"-1"],["A","SCALE",2,"-1"],["A","SWAP",2,18],["A","ADD",0,1,"-1"],["A","SCALE",1,"-1"],["A","ADD",18,1,"2"],["A","ADD",18,0,"2"],["A","ADD",1,0,"1"],["A","SWAP",0,18],["A","LAMBDA",0,-1],["A","SWAP",36,37],["A","SWAP",35,37],["A","SWAP",34,37],["A","SWAP",33,37],["A","SWAP",32,37],["A","SWAP",31,37],["A","SWAP",30,37],["A","SWAP",29,37],["A","SWAP",28,37],["A","SWAP",27,37],["A","SWAP",26,37],["A","SWAP",25,37],["A","SWAP",24,37],["A","SWAP",23,37],["A","SWAP",22,37],["A","ADD",20,21,"-1"],["A","ADD",19,21,"-1"],["A","SCALE",21,"-1"],["A","SWAP",21,37],["A","ADD",19,20,"-1"],["A","ADD",37,20,"-2"],["A","ADD",37,19,"2"],["A","ADD",20,19,"-1"],["A","SWAP",19,37],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",74,[15]],["B","IDLE_ONE",75,[15]],["B","ADD",74,75,"1"],["B","ADD",72,75,"-1/4"],["B","ADD",39,75,"-64"],["B","SCALE",75,"-1/2"],["B","ADD",73,74,"1/2"],["B","ADD",72,74,"1/2"],["B","ADD",39,74,"64"],["B","ADD",38,74,"32"],["B","SWAP",74,75],["B","ADD",72,73,"-1/2"],["B","ADD",39,73,"-128"],["B","SCALE",73,"-1"],["B","ADD",75,73,"2"],["B","ADD",74,73,"-1"],["B","ADD",38,72,"128"],["B","SCALE",72,"-2"],["B","ADD",74,72,"1"],["B","ADD",73,72,"1"],["B","SWAP",71,73],["B","SWAP",70,72],["B","SWAP",69,71],["B","SWAP",68,70],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",75,39,"1/32"],["B","ADD",74,39,"-1/64"],["B","ADD",69,39,"1/64"],["B","ADD",68,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",75,38,"-1/32"],["B","ADD",69,38,"-1/64"],["B","ADD",68,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",16,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","ADD",1,2,"-1"],["A","ADD",0,2,"-1"],["A","SCALE",2,"-1"],["A","SWAP",2,18],["A","ADD",0,1,"-1"],["A","SCALE",1,"-1"],["A","ADD",18,1,"2"],["A","ADD",18,0,"2"],["A","ADD",1,0,"1"],["A","SWAP",0,18],["A","LAMBDA",0,-1],["A","SWAP",36,37],["A","SWAP",35,37],["A","SWAP",34,37],["A","SWAP",33,37],["A","SWAP",32,37],["A","SWAP",31,37],["A","SWAP",30,37],["A","SWAP",29,37],["A","SWAP",28,37],["A","SWAP",27,37],["A","SWAP",26,37],["A","SWAP",25,37],["A","SWAP",24,37],["A","SWAP",23,37],["A","SWAP",22,37],["A","ADD",20,21,"-1"],["A","ADD",19,21,"-1"],["A","SCALE",21,"-1"],["A","SWAP",21,37],["A","ADD",19,20,"-1"],["A","ADD",37,20,"-2"],["A","ADD",37,19,"2"],["A","ADD",20,19,"-1"],["A","SWAP",19,37],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",74,[16]],["B","IDLE_ONE",75,[16]],["B","ADD",74,75,"1"],["B","ADD",72,75,"-1/4"],["B","ADD",39,75,"-64"],["B","SCALE",75,"-1/2"],["B","ADD",73,74,"1/2"],["B","ADD",72,74,"1/2"],["B","ADD",39,74,"64"],["B","ADD",38,74,"32"],["B","SWAP",74,75],["B","ADD",72,73,"-1/2"],["B","ADD",39,73,"-128"],["B","SCALE",73,"-1"],["B","ADD",75,73,"2"],["B","ADD",74,73,"-1"],["B","ADD",38,72,"128"],["B","SCALE",72,"-2"],["B","ADD",74,72,"1"],["B","ADD",73,72,"1"],["B","SWAP",71,73],["B","SWAP",70,72],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",75,39,"1/32"],["B","ADD",74,39,"-1/64"],["B","ADD",71,39,"1/64"],["B","ADD",70,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",75,38,"-1/32"],["B","ADD",71,38,"-1/64"],["B","ADD",70,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",17,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","ADD",1,2,"-1"],["A","ADD",0,2,"-1"],["A","SCALE",2,"-1"],["A","SWAP",2,18],["A","ADD",0,1,"-1"],["A","SCALE",1,"-1"],["A","ADD",18,1,"2"],["A","ADD",18,0,"2"],["A","ADD",1,0,"1"],["A","SWAP",0,18],["A","LAMBDA",0,-1],["A","SWAP",36,37],["A","SWAP",35,37],["A","SWAP",34,37],["A","SWAP",33,37],["A","SWAP",32,37],["A","SWAP",31,37],["A","SWAP",30,37],["A","SWAP",29,37],["A","SWAP",28,37],["A","SWAP",27,37],["A","SWAP",26,37],["A","SWAP",25,37],["A","SWAP",24,37],["A","SWAP",23,37],["A","SWAP",22,37],["A","ADD",20,21,"-1"],["A","ADD",19,21,"-1"],["A","SCALE",21,"-1"],["A","SWAP",21,37],["A","ADD",19,20,"-1"],["A","ADD",37,20,"-2"],["A","ADD",37,19,"2"],["A","ADD",20,19,"-1"],["A","SWAP",19,37],["A","LAMBDA",19,1],["B","LAMBDA",38,1],["B","IDLE_ONE",74,[17]],["B","IDLE_ONE",75,[17]],["B","ADD",74,75,"1"],["B","ADD",72,75,"-1/4"],["B","ADD",39,75,"-64"],["B","SCALE",75,"-1/4"],["B","ADD",73,74,"1/2"],["B","ADD",72,74,"1/2"],["B","ADD",39,74,"64"],["B","ADD",38,74,"32"],["B","SCALE",74,"1/2"],["B","SWAP",74,75],["B","ADD",72,73,"-1/2"],["B","ADD",39,73,"-128"],["B","SCALE",73,"-1"],["B","ADD",75,73,"1"],["B","ADD",74,73,"-1/2"],["B","ADD",38,72,"128"],["B","SCALE",72,"-2"],["B","ADD",74,72,"1/2"],["B","ADD",73,72,"1"],["B","ADD",38,39,"1/2"],["B","SCALE",39,"-1"],["B","ADD",75,39,"1/64"],["B","ADD",74,39,"-1/128"],["B","ADD",73,39,"1/64"],["B","ADD",72,39,"1/128"],["B","SCALE",38,"-1"],["B","ADD",75,38,"-1/64"],["B","ADD",73,38,"-1/64"],["B","ADD",72,38,"-1/64"],["B","ADD",39,38,"-1"],["B","LAMBDA",38,-1],["J",18,[1,0,19,20],[39,38,"-1","1/2"]],["A","LAMBDA",19,-1],["A","SCALE",20,"-1"],["A","LAMBDA",0,1],["A","SWAP",17,18],["A","SWAP",16,18],["A","SWAP",15,18],["A","SWAP",14,18],["A","SWAP",13,18],["A","SWAP",12,18],["A","SWAP",11,18],["A","SWAP",10,18],["A","SWAP",9,18],["A","SWAP",8,18],["A","SWAP",7,18],["A","SWAP",6,18],["A","SWAP",5,18],["A","SWAP",4,18],["A","SWAP",3,18],["A","SWAP",2,18],["A","ADD",0,1,"-2"],["A","SWAP",1,18],["A","SCALE",0,"-1"],["A","ADD",18,0,"-1"],["A","LAMBDA",0,-1],["A","LAMBDA",1,-1],["A","LAMBDA",2,-1],["A","LAMBDA",3,-1],["A","LAMBDA",4,-1],["A","LAMBDA",5,-1],["A","LAMBDA",6,-1],["A","LAMBDA",7,-1],["A","LAMBDA",8,-1],["A","LAMBDA",9,-1],["A","LAMBDA",10,-1],["A","LAMBDA",11,-1],["A","LAMBDA",12,-1],["A","LAMBDA",13,-1],["A","LAMBDA",14,-1],["A","LAMBDA",15,-1],["A","LAMBDA",16,-1],["A","LAMBDA",17,-1],["A","LAMBDA",18,-1],["A","SWAP",36,37],["A","SWAP",35,37],["A","SWAP",34,37],["A","SWAP",33,37],["A","SWAP",32,37],["A","SWAP",31,37],["A","SWAP",30,37],["A","SWAP",29,37],["A","SWAP",28,37],["A","SWAP",27,37],["A","SWAP",26,37],["A","SWAP",25,37],["A","SWAP",24,37],["A","SWAP",23,37],["A","SWAP",22,37],["A","SWAP",21,37],["A","ADD",19,20,"-2"],["A","SWAP",20,37],["A","SCALE",19,"-1"],["A","ADD",37,19,"-1"],["A","LAMBDA",19,-1],["A","LAMBDA",20,-1],["A","LAMBDA",21,-1],["A","LAMBDA",22,-1],["A","LAMBDA",23,-1],["A","LAMBDA",24,-1],["A","LAMBDA",25,-1],["A","LAMBDA",26,-1],["A","LAMBDA",27,-1],["A","LAMBDA",28,-1],["A","LAMBDA",29,-1],["A","LAMBDA",30,-1],["A","LAMBDA",31,-1],["A","LAMBDA",32,-1],["A","LAMBDA",33,-1],["A","LAMBDA",34,-1],["A","LAMBDA",35,-1],["A","LAMBDA",36,-1],["A","LAMBDA",37,-1],["B","LAMBDA",38,1],["B","IDLE_ONE",74,[18]],["B","IDLE_ONE",75,[18]],["B","ADD",39,75,"-128"],["B","ADD",38,75,"64"],["B","SCALE",75,"-1"],["B","ADD",38,74,"128"],["B","SCALE",74,"-1"],["B","ADD",75,74,"2"],["B","ADD",38,39,"1/2"],["B","SCALE",39,"1/128"],["B","ADD",75,39,"-2"],["B","ADD",74,39,"-1"],["B","SCALE",38,"1/128"],["B","ADD",75,38,"2"],["B","ADD",74,38,"2"],["B","SWAP",38,39],["B","LAMBDA",38,-1],["B","LAMBDA",39,-1],["B","LAMBDA",40,-1],["B","LAMBDA",41,-1],["B","LAMBDA",42,-1],["B","LAMBDA",43,-1],["B","LAMBDA",44,-1],["B","LAMBDA",45,-1],["B","LAMBDA",46,-1],["B","LAMBDA",47,-1],["B","LAMBDA",48,-1],["B","LAMBDA",49,-1],["B","LAMBDA",50,-1],["B","LAMBDA",51,-1],["B","LAMBDA",52,-1],["B","LAMBDA",53,-1],["B","LAMBDA",54,-1],["B","LAMBDA",55,-1],["B","LAMBDA",56,-1],["B","LAMBDA",57,-1],["B","LAMBDA",58,-1],["B","LAMBDA",59,-1],["B","LAMBDA",60,-1],["B","LAMBDA",61,-1],["B","LAMBDA",62,-1],["B","LAMBDA",63,-1],["B","LAMBDA",64,-1],["B","LAMBDA",65,-1],["B","LAMBDA",66,-1],["B","LAMBDA",67,-1],["B","LAMBDA",68,-1],["B","LAMBDA",69,-1],["B","LAMBDA",70,-1],["B","LAMBDA",71,-1],["B","LAMBDA",72,-1],["B","LAMBDA",73,-1],["B","LAMBDA",74,-1],["B","LAMBDA",75,-1]],"ops_note":"QSELF(x, k): R[x] *= q^k, one paid rank-1 job on one register (new op; not in the retained alphabet)."} \ No newline at end of file diff --git a/research/p104-query-only-interval/data/root_A_efree.json b/research/p104-query-only-interval/data/root_A_efree.json new file mode 100644 index 0000000000..4a7fbe2fe2 --- /dev/null +++ b/research/p104-query-only-interval/data/root_A_efree.json @@ -0,0 +1 @@ +{"n": 38, "N": 40, "X": [["1", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["1", "2", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "2", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["1", "2", "2", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "2", "2", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["1", "2", "2", "2", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "2", "2", "2", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["1", "2", "2", "2", "2", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "2", "2", "2", "2", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["1", "2", "2", "2", "2", "2", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "2", "2", "2", "2", "2", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["1", "2", "2", "2", "2", "2", "2", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "2", "2", "2", "2", "2", "2", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["1", "2", "2", "2", "2", "2", "2", "2", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "2", "2", "2", "2", "2", "2", "2", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["1", "2", "2", "2", "2", "2", "2", "2", "2", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "2", "2", "2", "2", "2", "2", "2", "2", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "-1", "-1", "-1", "-1", "-1", "-1", "-1", "-1", "-1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "1", "1", "1", "1", "1", "1", "1", "1", "1", "-1", "-1", "-1", "-1", "-1", "-1", "-1", "-1", "-1"], ["-1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "2", "2", "2", "2", "2", "2", "2", "2", "2", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "-1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "2", "2", "2", "2", "2", "2", "2", "2", "2"], ["-1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "2", "2", "2", "2", "2", "2", "2", "2", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "-1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "2", "2", "2", "2", "2", "2", "2", "2"], ["-1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "2", "2", "2", "2", "2", "2", "2", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "-1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "2", "2", "2", "2", "2", "2", "2"], ["-1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "2", "2", "2", "2", "2", "2", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "-1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "2", "2", "2", "2", "2", "2"], ["-1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "2", "2", "2", "2", "2", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "-1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "2", "2", "2", "2", "2"], ["-1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "2", "2", "2", "2", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "-1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "2", "2", "2", "2"], ["-1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "2", "2", "2", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "-1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "2", "2", "2"], ["-1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "2", "2", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "-1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "2", "2"], ["-1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "2", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "-1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "2"], ["-1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "-1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1"]], "Y": [["1", "-1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "-1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["1", "0", "-1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "-1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["1", "0", "0", "-1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "0", "-1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["1", "0", "0", "0", "-1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "0", "0", "-1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["1", "0", "0", "0", "0", "-1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "0", "0", "0", "-1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["1", "0", "0", "0", "0", "0", "-1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "0", "0", "0", "0", "-1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["1", "0", "0", "0", "0", "0", "0", "-1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "0", "0", "0", "0", "0", "-1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["1", "0", "0", "0", "0", "0", "0", "0", "-1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "0", "0", "0", "0", "0", "0", "-1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["1", "0", "0", "0", "0", "0", "0", "0", "0", "-1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "0", "0", "0", "0", "0", "0", "0", "-1", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["2", "-1", "1", "-1", "1", "-1", "1", "-1", "1", "-1", "1", "-1", "1", "-1", "1", "-1", "1", "-1", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "2", "-1", "1", "-1", "1", "-1", "1", "-1", "1", "-1", "1", "-1", "1", "-1", "1", "-1", "1", "-1", "1"], ["1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "0", "0", "0", "0", "0", "0", "0"], ["1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "0", "0", "0", "0", "0", "0"], ["1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "0", "0", "0", "0", "0"], ["1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "0", "0", "0", "0"], ["1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "0", "0", "0"], ["1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "0", "0"], ["1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "0"], ["1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0"], ["1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0"], ["0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "1"]], "stages": [{"units": [0, 1], "mask": [0, 1, 19, 20]}, {"units": [2, 3], "mask": [0, 1, 2, 19, 20, 21]}, {"units": [4, 5], "mask": [0, 1, 2, 3, 19, 20, 21, 22]}, {"units": [6, 7], "mask": [0, 1, 2, 3, 4, 19, 20, 21, 22, 23]}, {"units": [8, 9], "mask": [0, 1, 2, 3, 4, 5, 19, 20, 21, 22, 23, 24]}, {"units": [10, 11], "mask": [0, 1, 2, 3, 4, 5, 6, 19, 20, 21, 22, 23, 24, 25]}, {"units": [12, 13], "mask": [0, 1, 2, 3, 4, 5, 6, 7, 19, 20, 21, 22, 23, 24, 25, 26]}, {"units": [14, 15], "mask": [0, 1, 2, 3, 4, 5, 6, 7, 8, 19, 20, 21, 22, 23, 24, 25, 26, 27]}, {"units": [16, 17], "mask": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28]}, {"units": [22, 23], "mask": [0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 29, 30, 31, 32, 33, 34, 35, 36, 37]}, {"units": [24, 25], "mask": [0, 11, 12, 13, 14, 15, 16, 17, 18, 19, 30, 31, 32, 33, 34, 35, 36, 37]}, {"units": [26, 27], "mask": [0, 12, 13, 14, 15, 16, 17, 18, 19, 31, 32, 33, 34, 35, 36, 37]}, {"units": [28, 29], "mask": [0, 13, 14, 15, 16, 17, 18, 19, 32, 33, 34, 35, 36, 37]}, {"units": [30, 31], "mask": [0, 14, 15, 16, 17, 18, 19, 33, 34, 35, 36, 37]}, {"units": [32, 33], "mask": [0, 15, 16, 17, 18, 19, 34, 35, 36, 37]}, {"units": [34, 35], "mask": [0, 16, 17, 18, 19, 35, 36, 37]}, {"units": [36, 37], "mask": [0, 17, 18, 19, 36, 37]}, {"units": [38, 39], "mask": [0, 18, 19, 37]}], "note": "E-free: direct sum of two 19-field chain roots; thin units t1 (y.x=1) and t2 per chain"} \ No newline at end of file diff --git a/research/p104-query-only-interval/data/word_6936.json.gz b/research/p104-query-only-interval/data/word_6936.json.gz new file mode 100644 index 0000000000..d93e67ca76 Binary files /dev/null and b/research/p104-query-only-interval/data/word_6936.json.gz differ diff --git a/research/p104-query-only-interval/interval_certificate.py b/research/p104-query-only-interval/interval_certificate.py new file mode 100644 index 0000000000..275fe716fd --- /dev/null +++ b/research/p104-query-only-interval/interval_certificate.py @@ -0,0 +1,133 @@ +"""Independent exact interval matrices with unrestricted formal D monomials. + +No predecessor arithmetic is imported. D powers are tuples of formal labels +with multiplicities retained. Prepared for @CubeJerry with substantial OpenAI +assistance. Apache-2.0. +""" +from fractions import Fraction +import hashlib +import json +from copy import deepcopy +from source_binding import need +from replacement import START, STOP, three_queries, to_basis, from_basis + + +def plus(a,b): + out=dict(a) + for key,(u,v) in b.items(): + x,y=out.get(key,(Fraction(0),Fraction(0))) + value=(x+u,y+v) + if value == (0,0): + out.pop(key,None) + else: + out[key]=value + return out + + +def factor(row,real=1,imag=0,power=0,labels=(),period=4): + out={} + real,imag=Fraction(real),Fraction(imag) + for (source,q,ds),(a,b) in row.items(): + value=(a*real-b*imag,a*imag+b*real) + key=(source,(q+power)%period,tuple(sorted(ds+tuple(labels)))) + if value != (0,0): + out[key]=value + return out + + +def matrix(word,n,period=4,projector_mutant=False): + rows=[{(r,0,()):(Fraction(1),Fraction(0))} for r in range(n)] + peak=n + for event in word: + need(event[0] == 'A', 'interval contains no HOST or B event') + op,r=event[1:3] + if op == 'ADD': + rows[r]=plus(rows[r],factor(rows[event[3]],real=Fraction(event[4]),period=period)) + elif op == 'SCALE': + rows[r]=factor(rows[r],real=Fraction(event[3]),period=period) + elif op == 'SWAP': + rows[r],rows[event[3]]=rows[event[3]],rows[r] + elif op == 'QUERY': + rows[r]=plus(rows[r],factor(rows[event[3]],power=event[4],period=period)) + elif op == 'QSELF': + rows[r]=factor(rows[r],power=event[3],period=period) + elif op == 'IDLE_ONE': + rows[r]=factor(rows[r],labels=tuple(event[3]),period=period) + elif op == 'LAMBDA': + half=Fraction(1,2) + s=0 if projector_mutant else event[3] + rows[r]=plus(factor(rows[r],real=half,imag=s*half,period=period), + factor(rows[r],real=half,imag=-s*half,power=2,period=period)) + else: + raise ValueError('unsupported local interval operation') + peak=max(peak,sum(map(len,rows))) + need(peak < 200000,'bounded local symbolic certificate') + return rows,peak + + +def digest(rows): + serial=[[[source,q,list(ds),str(a),str(b)] for (source,q,ds),(a,b) in sorted(row.items())] + for row in rows] + return hashlib.sha256(json.dumps(serial,separators=(',',':')).encode()).hexdigest() + + +def verify(caller,new): + original=caller['events'][START:STOP] + replacement=new['events'][START:START+223] + need(new['events'][:START] == caller['events'][:START] + and new['events'][START+223:] == caller['events'][STOP:], + 'all actual events outside interval unchanged') + old,op=matrix(original,38) + fresh,np=matrix(replacement,38) + need(old == fresh, 'exact full separated interval on all independent input columns') + core,cp=matrix(three_queries(0,1,2,3),4) + target,_=matrix([['A','QSELF',0,-1],['A','QSELF',1,-1],['A','QUERY',2,3,-1]],4) + need(core == target,'complete four-field gadget, including arbitrary workspace outputs') + unit,_=matrix(to_basis()+from_basis(),38) + identity,_=matrix([],38) + need(unit == identity,'global even basis invertibility, including q=+/-i sectors') + return dict(interval=[START,STOP],old_events=len(original),new_events=len(replacement), + arbitrary_interval_inputs=38,formal_D_variables_retained='all; interval uses D9 only', + D_exponents='unrestricted tuples, multiplicities preserved', + q_relation='q^4=1',old_peak_terms=op,new_peak_terms=np, + endpoint_terms=sum(map(len,old)),endpoint_sha256=digest(old), + four_field_gadget_peak_terms=cp,four_field_gadget_endpoint_sha256=digest(core), + basis_round_trip='identity over the full quotient, without division or sector restriction') + + +def controls(caller,new): + original=caller['events'][START:STOP] + replacement=new['events'][START:START+223] + want,_=matrix(original,38) + checks=[] + def rejects(label,mutant,**kw): + got,_=matrix(mutant,38,**kw) + need(got != want,'negative-control discriminator failed: '+label) + checks.append(label) + z=deepcopy(replacement) + at=next(i for i,e in enumerate(z) if e[1] == 'QUERY') + z[at][-1]=1 + rejects('wrong_QUERY_orientation',z) + z=deepcopy(replacement);z.pop(at) + rejects('only_two_QUERY_calls',z) + z=deepcopy(replacement) + at=next(i for i,e in enumerate(z) if e == ['A','ADD',0,2,'-1']) + z.pop(at) + rejects('omitted_source_conjugation_correction',z) + z=deepcopy(replacement) + at=next(i for i,e in enumerate(z) if e[1] == 'QUERY') + prior=max(i for i in range(at) if z[i][1] == 'LAMBDA') + z.pop(prior) + rejects('incomplete_t_scaling_or_source_restoration',z) + z=deepcopy(replacement) + di=next(i for i,e in enumerate(z) if e[1] == 'IDLE_ONE') + z.insert(di,z[di][:]) + rejects('repeated_D9_is_not_idempotent',z) + z=deepcopy(replacement);z.append(['A','ADD',37,0,'1']) + rejects('cross_input_contamination',z) + rejects('lambda_projection_zero_divisor_mutant',replacement,projector_mutant=True) + wide_old,_=matrix(original,38,period=8) + wide_new,_=matrix(replacement,38,period=8) + need(wide_old != wide_new,'q^4 hypothesis discriminator') + checks.append('missing_q_fourth_power_relation') + return dict(rejected=checks,count=len(checks),method='exact formal coefficients; no sampled field values') diff --git a/research/p104-query-only-interval/reference/OWNED-PROOF.md b/research/p104-query-only-interval/reference/OWNED-PROOF.md new file mode 100644 index 0000000000..a351238484 --- /dev/null +++ b/research/p104-query-only-interval/reference/OWNED-PROOF.md @@ -0,0 +1,403 @@ +# An E-free caller identity and owned-bank lowering of QSELF + +Prepared for **@CubeJerry**, with substantial OpenAI assistance. Apache-2.0. +**No new κ. No unconditional multiplication theorem.** + +## 1. Exact sources, novelty and theorem boundary + +The canonical base is `7c49fe32c55de02c2c873655c804b16e4c3fef0a`. +The proposed source is DreamingOfClouds' [#6937](https://github.com/CrocSwap/integer-mult-bounds/pull/6937), +head `a98df73ddae1d1ea85a62b6bdf2714b28cb7b359`, files +`research/p104-two-chain-findings/data/caller_efree.json` and +`data/root_A_efree.json`. Its unchanged local native word and comparison caller +come from [#6936](https://github.com/CrocSwap/integer-mult-bounds/pull/6936), +head `03626137d0bd57f09b0bf9597376183ce6fa9683`, under +`research/p104-main-wire-native/`. DEPENDENCIES.json authenticates each used +source byte string; the published package does not depend on a mutable branch. + +The E-free construction and the idea of trading an empty-mask role and a +query for one QSELF per chain belong to DreamingOfClouds. That source reports +an exact 76-by-76 caller replay at the four central characters. Its shipped +`check.py` only parses the caller and checks its serialized length; it does +not contain that replay. The README does not say whether the reported replay +kept the 18 D variables formal. This package makes no claim that four q +characters are insufficient, or that the earlier reported identity is false. +Indeed, four exact characters suffice when the D variables remain formal. + +The additions here are a reproducible formal operator certificate and a +separate backward-covector certificate; a source-specific implementation of +both QSELF sites in the existing owned lifecycle alphabet; its complete +target/paid, ordinary-cost and stock comparison; and an explicit all-column +phase/interface proof for the new requests. No root search or replacement +native word is performed. + +**Conditional theorem.** Let V be a complex vector space. Let Q,D_1,...,D_18 +be commuting linear operators on V, with Q^4=I. Interpret the exact 2,991 +source events with the coefficients below, applying each scalar to the whole +field. For all 76 arbitrary, independently variable input fields, the caller +returns exactly its declared diagonal Q^-1 times the selected D products. +Each of its two QSELF source events has a source-bound typed expansion, for +each of its 96 ports, using one completed rank-one request on one disjoint +owned bank, with the query-adapter, COPY, SWAP and physical-clearance contracts. +Given a faithful dispatch registry for its new SERVICE tokens, and under the +retained whole-job, ownership, common-format and cost contracts stated below, +this introduces no additional productive input and no additional paid call +beyond QSELF's declared one. Compared with the exact #6936 caller, both +complete rank-one counts decrease by 192 and all other rank counts agree. + +The full caller theorem is **not** for arbitrary noncommuting Q or D, or for +Q without Q^4=I. Only the local copied-bank substitution lemma in §4 works +for an arbitrary completed operator A. Native all-column correctness, +rounded precision, physical primitive rates, installation of the new token/provider +registry, the recursive compiler join and +analytic recovery remain inherited obligations. This is not physical +execution of the entire caller. + +## 2. Exact source semantics and formal certificate + +Work in the commutative ring + + R = Q(i)[q,D_1,...,D_18] / (q^4-1). + +Every field starts as its own independent input generator. The forward +checker stores each coefficient as two exact Fractions, with a key consisting +of the input generator, q exponent modulo four, and a square-free D mask. +Multiplication by a mask rejects if a factor is already present: it never +silently imposes D_j^2=D_j or drops a repeated factor. Each actual prefix is +checked to remain in this representation. A formal D monomial is not a +numerical probe and no D value is substituted. + +ADD and SCALE are the literal rational row operations. SWAP exchanges the +ordered fields. QUERY(dst,src,k) adds q^k src to dst; QSELF(x,k) multiplies x +by q^k. IDLE_ONE multiplies its field by the product of the listed D stages. +LAMBDA_s multiplies its field by + + ((1+s i) + (1-s i) q^2)/2. + +It acts on the total q operator; this scalar formula is not tensor-powered +one column at a time. At a joint stage j, the type-A four fields (u,v,x,y) +are updated by + + (u,v,x,y) <- D_j (u, v+q^-1 u, x-q y, y). + +The type-B pair (s,t), with the source's alpha=-1 and beta=1/2, is updated +simultaneously by + + (s,t) <- D_j (s+alpha q t, + beta q^-1 s + (1+alpha beta)t). + +These ordered semantics are independently read from the exact predecessor +`jclib.py`; both old rows are used for the dense B update. The source validator +checks all role ranges, disjoint types, exact host coefficients, distinct +operands, positive idle stage sets and the ordered 18 fresh joint contacts. + +Induction over these operations proves that each stored row is exactly its +formal input expansion. Rational arithmetic is exact; the four residue +classes of q form a basis over Q(i)[D_1,...,D_18]. The final row comparison +therefore proves all coefficient identities, rather than checking one +particular vector. The certificate has 76 final monomials and peak 2,713 +stored monomials at source-event boundaries, at most 90 in a field. + +There is a unique homomorphism from this ring to the commutative algebra +generated by any operators satisfying the theorem's hypotheses. Applying it +to every coefficient proves the operator identity on every vector in V. +No dimensional restriction on V is used. D_j need not be involutions or +numeric scalars, and their inverses are not used. + +The two type blocks do not algebraically mix: each tagged scalar event stays +within its own role range, and each J event is the direct sum of the displayed +A and B blocks. Therefore each block identity can be substituted separately +at every actual port, using that port's own Q_q. The 96 A copies and eight B +copies do not require different physical ports to have the same Q operator. +Completing the unchanged native word with its independent helpers before +resuming the caller is the retained contact contract used in this substitution. + +### A different critical check + +`dual_certificate.py` does not import the forward engine. It starts with +independent output covectors and scans the source backwards, multiplying by +the **transposes**, not inverses, of the literal gates. In particular, an +ADD into x contributes to the coefficient of its source, and the dense B +contact is transposed as a simultaneous block. Its exact coefficient type is +an integer pair divided by a power of two; normalization and arithmetic are +separate from the forward Fraction implementation. + +It retains all 18 D variables formally and performs this backward propagation +at q=1,i,-1,-i. Evaluation at these four distinct roots is injective on R: +for each D monomial, a polynomial of q degree at most three vanishing at all +four roots is zero. Thus these are four faithful coefficient checks of the +same universal identity, not finitely sampled operator inputs. This is a +second algorithmic check, not independent human or proof-kernel acceptance. + +## 3. Exact query orientation, absolute phase and ambient format + +The inherited physical audit represents a one-column central Gaussian C_q +by its Walsh-frequency multiplier i^(q dot omega), with binary dot product. +This specifies its absolute phase, not only its projective Clifford action. +It gives C_q^2=X_q, the address translation by q, and C_q^4=I. + +For each actual native port q, the source recipe supplies an orthonormal +nine-axis basis (q,b_1,...,b_8). Define the binary address map + + B(x) = (q dot x, b_1 dot x, ..., b_8 dot x). + +Then B(q)=e_0, B is orthogonal, and B^-1=B^T. Its permutation P_B satisfies + + P_B C_q P_B^-1 = C_e0, + P_B^-1 C_e0 P_B = C_q, + X_q P_B^-1 C_e0 P_B = C_q^-1. + +The last equality is exact because i^h (-1)^h = i^(-h) for h in {0,1}. +It requires the Q^2 translation on return. Omitting it implements Q, rather +than Q^-1. No phase that happens to be harmless at one tensor width is dropped. + +At every positive column count f, tensor these binary maps and C operators +column by column and leave the other 144 coordinate blocks fixed. The rank-one +request acts on the f selected e_0 coordinates; both nine-axis maps preserve +all remaining coordinates. Tensoring the exact displayed equality gives +Q_f^-1 with every absolute phase raised correctly across all f columns. +This is the all-f argument. The executable 49,152 one-column spectral checks +bind its finite bases and signs to the actual 96 new source ports; those +checks alone are not claimed to prove the tensor statement. + +The source's D_j acts only on fresh coordinate blocks +9+8(j-1),...,9+8j-1. These sets are pairwise disjoint and disjoint from the +nine central blocks. Consequently the intended physical Q and D operators +commute and Q^4=I, at every f, under the retained exact native contact contract. +All other local-word maps and helper endpoints remain the #6936 dependency. + +Both query boundaries return to the same complete ambient coordinate order. +The coded implementation additionally requires the same component boundaries, +grids and signed widths on the returned bank and its caller field. In the +unchanged Controller, INIT uses payload 0 as its shape guide. Thus that guide +must have the same complete numerical format too; rank equality alone is not +enough. A whole-job provider must return within this format's representable +range, or the physical execution has no success guarantee. This common-format +and precision obligation is explicit and remains inside precision_tape and +the recursive provider join. The present operator identity does not establish +rounded-state equality or claim that every finite signed input is an exactly +representable Gaussian output. + +## 4. One owned bank, exact history and source-preserving lowering + +The canonical source is +`research/kappa-rebuild/architecture/FINITE-PRECOMPILATION.md`, Git blob +`4badb40f0919c515823cb07e44c6470d4d6469ca` at the stated canonical base. +Section 1 permits: “Constantly many owned fields may be supplied with their +full cost and no productive output credit.” Section 6 expressly permits a +paid child on an owned field containing a copied correlated value; the parent +waits for complete child return before reading or erasing that bank. Each +live unit retains its own distinct banks. These are existing conditional +contracts, not a new restoration waiver or a proof of owned_erasure. + +Let x be the actual caller field and z a disjoint owned bank. The expansion is + + INIT z + COPY z <- x + SERVICE query-in(z) + PAID(z, rank=1) + SERVICE query-out(z) + SERVICE SWAP(x,z) + CLEAR z + +Every opcode is already accepted by the unchanged published lifecycle +`source_ir.Unit.check` and `machine.Controller`. The first five events are the +existing query-bank prefix. The return service uses the exact orientation in +§3; SWAP replaces the old query-add service. There are no Python payload +callbacks or newly assumed free field transfers in this statement. + +This proves **relative typed-IR and lifetime compatibility**, not an installed +physical service dispatcher. The exported tokens contain `qself6937`, and +the SWAP token also differs from the frozen current-caller source grammar. +`Unit.check` checks event structure and lifetimes; it does not validate a +SERVICE registry or numerical provider. This package installs no new registry +and does not claim that an earlier source-specific binder accepts those +tokens. The conditional semantic realization requires an exact mapping of +these tokens to the stated query providers and existing SWAP table, including +their actual headers, ordered fields and common-format predicates. Producing +and validating that dispatch/export is an explicit remaining obligation. + +**Local substitution lemma.** More generally, suppose the three middle +events implement any completed whole-field operator A, with the required +format and spectator preservation. Immediately after COPY, z=x; after complete +return z=Ax and the caller's x is its original value; after SWAP, the ordered +pair is (Ax,x); after CLEAR, it is (Ax,0). Every other public field is unchanged. +This proof does not require Q^4=I, commutation, invertibility or statistical +independence of current values. If the recursive controller parks the parent, +its x is preserved in protected ancestor storage and restored at return; +the same current physical tape need not be untouched while a child runs. + +CLEAR erases the old x **now stored in the owned z bank**. The canonical +contract conditions erasure on bank ownership and completed descendants, +not on the numerical content having originated independently. It does not +require restoring an arbitrary prior value of z. The returned child is +complete before the parent reads, swaps or erases z. Every descendant has a +different owned-bank identity. Borrowed public helpers are never used as z. + +A literal wrapper INIT z; QUERY(z,x,-1); SWAP(x,z); CLEAR z would have two +simultaneously live banks: z and QUERY's internal copied bank. The fused +expansion above uses the internal copied bank as the returned value and +omits the redundant outer zero target and ADD. Its exact semantics follows +from the local lemma; it is not a claim that the two implementations have +identical rounded trajectories. + +The exact source QSELF sites are event 457 on A role 0 and event 575 on A +role 19. Each is applied to the 96 A ports, for 192 expansions and 1,344 IR +events. Their source tokens retain site, port, literal operation and actual +ordered owner. Injective compiler remapping preserves the owned recipient +and the SWAP order. The generated patch is checked through the unchanged IR +class; a separate whole-local-source structural pass accepts 71,144 native +events as 83,790 typed events. Neither pass is a fullcaller tape replay. + +The actual raw source processes each port's complete expansion before the +next one, and every joint native invocation is complete before the next +outer event. One outer query bank is therefore reused across the 416 new +QUERY-or-QSELF instances. It overlaps no local owned lifetime. The local +word still has 51 labels, 54 lifetimes and peak 43; an unreused safe finite +inventory is 18*51+1=919 raw-unit private names, with maximum 43 live locally. +Suspended recursive unit instances retain distinct banks: this is not one +scratch tape per recursion depth. Old erased backing remains counted at its +high-water extent. + +## 5. Positive costs, complete invoices and numerical limitations + +The generic request has two nine-axis conversions, one Q^2 translation and +one rank-one child. It also pays INIT, numerical COPY as addition, both SWAP +outputs, physical raw erasure, all source access, heads, child continuation, +complete child return, and existing descriptor/row services. An initially +dirty bank is disposed of rather than assumed empty. The two work ports of +the published SWAP table are reusable existing primitive work, with current +backing 2V+3; z adds V. Adapter work is retained separately and may be reused +only after successful primitive retirement. + +Here is a physical cost statement independent of a numerical historical cap. +Let V be a complete field's physical coded length, D total initially occupied +bank/work bytes, and q_0 the fixed supplied work/context inventory. Given +actual query-provider costs A_in,A_out and the actual paid-boundary/child +cost B_paid, the new fragment is bounded by + + A_in + A_out + B_paid + 2048(V+1) + 16D + 64q_0. + +This deliberately loose remainder covers the unmodified initialize, +copy_as_add and retire scans and the published SWAP ceiling +1024(V/3+1)+8D+32q_0. Every term is positive. The boundary/child term is not +hidden in a scalar allowance or counted as zero. Provider work, all other +public fields, parked ancestors and descriptors remain in the complete caller +stock. The bound is conditional on their declared physical interfaces; it is +not a construction of those interfaces. + +Here are the scan constants behind that remainder, using the lifecycle's +physical read/write/unit-move metric and charging executed SWAP table rows as +in its published theorem. Set L=V/3. From its current origin, `origin` costs +3 actions; from offset h it costs 2h+3. A raw `retire` of d occupied bytes +therefore costs exactly 5d+7, including both head resets. `read_code` costs +7 actions per present codeword and 1 at the frontier; `write_code` costs 6. +Thus INIT on an initially d-byte dirty bank, guided by a V-byte complete +field, costs 5d+25V/3+17. COPY costs 14L+9b+4V+14, where b<=L is the number +of numerical-bit codewords; it is at most 35V/3+14. CLEAR after the successful +SWAP costs 5V+7. Their sum is at most 25V+5d+38. Adding the SWAP bound gives +at most (1100/3)V+1062+5d+8D_work+32q_0, plus a fixed seven-event dispatch. +It is below the displayed 2048(V+1)+16D+64q_0, for D=d+D_work. Query providers +are separately charged for their own work retirement and head reset; on +successful return through `Controller.primitive` their declared work ports +are blank. These constants count actual coded bytes and both output writes; +they do not equate this tape metric with the historical scalar/pass tariff. + +For comparison with #6936's **inherited scalar/routing accounting convention**, +`invoice.py` reconstructs the local scalar and route terms directly from the +unchanged word, all caller/idle/main/query terms directly from both callers, +and adds a separate 128 ordinary units for each new QSELF instance. This +extra 24,576-unit charge covers four lifecycle/scalar operations at the +retained 32-unit gate envelope, in addition to the thin lifecycle allowance +and the general caller envelope. Both full nine-axis conversions and the +translation are charged at 1,000 each. These retained scalar/pass rates are +not an independent verification of physical precision_tape tariffs. + +The exact results are: + +| Quantity | #6936 comparison caller | E-free caller with owned lowering | +| --- | ---: | ---: | +| Main arbitrary input fields | 4,144 | 3,952 | +| Fresh helper fields over 18 local calls | 19,098 | 19,098 | +| Complete productive count | 23,242 | 23,050 | +| Complete paid calls | 118,038 | 117,846 | +| Outer rank-one QUERY/QSELF calls | 608 | 416 | +| Source local rank-one/other paid calls | unchanged | unchanged | +| Reviewed raw ordinary upper | 832,255,648 | 796,934,944 | +| Extra LAMBDA reading | 12,560,000 | 11,792,000 | +| Per-call 1125 conversion reading | 2,734,992 | 2,734,992 | +| Both extra readings included | 847,550,640 | 811,461,936 | +| Margin below 10^9 in that convention | 152,449,360 | 188,538,064 | + +At each joint call the same 1,461 local public fields map to four A mains per +A port, two B mains per B port, and 1,061 distinct helpers. Those helpers have +fresh stage-specific identities. Neither their arbitrary inputs nor their +productive outputs are erased or replaced by the query bank. The B stream is +byte-for-byte the same sequence of operations after its offset shifts by two. +Every main target in the new caller has a nonempty D mask. + +For every rank r the exact complete profiles satisfy + + T_new(r) = T_old(r) - 192*[r=1], + P_new(r) = P_old(r) - 192*[r=1]. + +Consequently the complete moment polynomial is identical at **every** κ, +not merely at a sampled decimal root. The rank-mass surplus remains 1520; +the new paid rank mass is 317,324. The two removed empty-mask E roles no +longer receive 192 rank-one productive credits, and the corresponding paid +debit falls by the same amount. There is no new κ from this substitution and +no claim that the unreviewed #6936 bound is the accepted frontier. + +These changes must replace the raw-unit counts in any future compiled +precision/stock certificate. It is not enough to observe a smaller scalar +cap. COPY propagates its actual residual as addition; it does not overwrite +an ideal value for free. With adapters E,F and child C satisfying FCE=A, +the output error includes FC times input/copy/entry error, F times child +error, and exit error. SWAP exactly permutes stored words and its errors; +erasure of the other bank does not erase these terms. The full rounded +recursion and source-entry predicates are not established here. + +## 6. A precisely scoped obstruction without owned initialization + +Consider the formal commuting caller algebra above, allowing arbitrary +independent auxiliary fields which must all be restored. QUERY is an +elementary shear of determinant one. Constant scalings and permutations +have q-independent determinants. LAMBDA determinants depend only on q^2; +IDLE determinants depend only on D. The joint HOST/HOST2 determinant is a +power of D and is also unchanged under q -> -q. Thus any finite word in this +alphabet has determinant even in q. + +A single QSELF with every auxiliary field restored would have determinant +q^-1. Evaluating at q=1 and q=-1 (and any fixed nonzero D) contradicts the +evenness of the word's determinant. This excludes that universal single-job +restored-workspace realization in this formal alphabet. + +It does not exclude every concrete Clifford specialization: spectral +restrictions or cancellation in a concrete large determinant require their +own analysis. It also does not exclude the **pair** of QSELF sites; their +combined q determinant is q^-2=q^2, which is even. No bound on a paired +QUERY-only synthesis follows. Owned initialization and erasure invalidate +the restored-arbitrary-workspace hypothesis, exactly as the explicit copied +bank does. This obstruction explains that distinction; it is not a global +impossibility theorem or a substitute for the constructive result. + +## 7. Remaining obligations and credit + +The five selected framework assumptions remain native_all_columns, +owned_erasure, compiler, precision_tape and analytic_recovery. The #6936 +native/A6, odd-scalar exact-return and BIT dependencies also remain. No +selected certificate is changed. Actual all-column native word execution, +all caller field-format predicates, complete rounded-return contracts and +compiled recursive stock/precision substitution still require review. The +new token-to-provider/table registry and concrete header export are also +unfinished; accepting a seven-opcode IR fragment does not discharge them. + +The E-free root, caller, source claim and proposal are DreamingOfClouds' work +with Claude Opus assistance. Retain Romman and the productive native/compiler +lineage; @CubeJerry's [#6912](https://github.com/CrocSwap/integer-mult-bounds/pull/6912) +caller blocks, [#6914](https://github.com/CrocSwap/integer-mult-bounds/pull/6914) +owned-rise work and published lifecycle/scalar/SWAP implementations; +unpaidmoon's [#6930](https://github.com/CrocSwap/integer-mult-bounds/pull/6930) +width-two phase work; and icekylinx's [#104](https://github.com/CrocSwap/integer-mult-bounds/pull/104) +odd-grid contribution. This package was prepared for @CubeJerry with +substantial OpenAI assistance in source analysis, proofs, code and review. diff --git a/research/p104-query-only-interval/reference/README_6937.md b/research/p104-query-only-interval/reference/README_6937.md new file mode 100644 index 0000000000..fddaa59703 --- /dev/null +++ b/research/p104-query-only-interval/reference/README_6937.md @@ -0,0 +1,80 @@ +# Two-chain family: remaining proofs, objects, backup words and open leads (no new kappa) + +No new kappa is claimed and nothing here is pushed as a supplier. **No human has reviewed any item.** Status words: **proved** (by hand, one author unless "twice read"), **replayed** (exact finite computation, or an exact run on the stated word), **model** (formula, floats, frames-only bound), **conditional** (rests on stated quoted statements). `check.py` recomputes the data facts in `data/` (hashes, word kappas from invoices, the E-free root, the two L=3 roots), each with a failing control. 1 R0 is about +.0043% kappa. Credit: Romman (#5599), CubeJerry (#6912, #6914, #6916, caller blocks and the odd-share line), unpaidmoon (#6930), icekylinx (#104, odd scalars at caller level); Bukh-Cox, Blasiak and Haemers for the clique/orthogonality background behind the w bound. Lakatos' method of proofs and refutations is the framing behind keeping each statement with its counterexample. + +## 1. Proofs + +1. **Rounded-division theorem** (conditional, twice read in v1, v2 read by its author only). With no checks and no odd root scale, the output is within an explicit defect of the exact action on any child meeting a norm contract, nonlinear ones included, and through the recursion it fits #6901's guards. Conditions: five quoted statements S1 to S5; raw fails on the old caller and fits only with #6912's rewrite. Test: an exact replay found 0 rows over the bound, adversarial case .9999, controls fail. Not run: caller, true Clifford gates, width 2. It changes the premise, so using it is a second framework change. Settles it: a reader of v2 and the caller run. +2. **Induced-matching share law** (replayed). Two same-arrow lines on one 4-rest register: F+F or R+R with the same chords leaks; **2F+2R** is exact (T[Y,X]=diag(-1,1), inverse block diag(-1,1), helper restored). "N_ij is nonzero iff chord c_i crosses w_j" holds on 2520 of 2520 orders of the 8-event case; 80 of 2520 orders are clean. Exact counterexample to a same-arrow share: F+F same chords gives T[Y,X]=[[1,1],[1,1]]. +3. **Lemma G** (proved, one author; resonance replayed in floats on one word). A t=-1 native means exactly T[Y,K]=0 raw with T[Y,X]=cI; at any other t that block has rank 104 by force. Settles: an exact word at t=-1. +4. **Level-mix theorem** (proved, one author): the exponent of a mixed-level word is the maximum over its words. Source report: no separate check here. +5. **Generalised split lemma with break-even leak** (proved for the stated scope, one author). A split pays while its leak stays under the break-even; the up-set count cannot see a split, so no cut floor limits splitting. Settles: a floor holding 94% of the bill (best count about 960 of 13,119 R0, not proved). +6. **Waist identity** (twice read; replayed on 975 columns): ab - cd = -g k. Lemma W (cd=1 and ab a unit suffice; #5599's ab=cd=1 is sufficient, not necessary) and Lemma S (a zero-mass owned scratch makes ab any unit) are toy-only, one author. On the current words cd = 0 in all 180 pairing jobs. +7. **Pairing as a sum of squares on shared inputs** (pattern, replayed at one prime, 17 of 17 against a 4-of-158 control; not derived). A description only: as a predictor it predicts nothing useful. Gaussian scalars add nothing (proved, one author): the pairing rank over Z[i,1/2] equals that over Z[1/2] for rational pools, and 5 = 1 + 4 stays 5. +8. **Rectangle law, Theorem S, H, H', root cut, Theorem C**: in the companion note (research/p104-root-cut-laws), twice read and replayed. + +## 2. Objects (all exact, in `data/`, rechecked by `check.py`) + +- **L=3, rho=1 roots tHHtHt and tHtHHt** (`root_L3_*.json`, rows a, b of length 8, M=9, n=8): header Gram is the exact path at t=-1, units square-zero; idle pieces are idempotents, the stage idempotents commute, ranks [4,4,4], masks cross (not laminar). The commuting/idempotent identities were replayed by a sympy script, the header lines are in `check.py`. Status: replayed, one reader. Not priced as a gain: toll n/2-2 idle per stage; ceiling +5.36% with free hosts (+4.02% against #6932, the +4.15% figure was against another base), -4.36% with demoted hosts; model. Open: connected L=18 embedding. +- **Two-chain roots, h=4/6/8, S=1416+48h**: quoted from the family's root note, not re-derived here (conditional). The h=18 root is `root_h.json`. +- **E-free root** (`root_A_efree.json`, `caller_efree.json`): 19 fields per chain, 20 units per chain, n=38, N=40. Exact: unit product is -I at S=-1 and I at S=+1; symbolic M(D) = -diag(prod D^eps) with 18 variables, every field in a mask. One declared deviation: isotropy y.x=0 fails at the single thin unit t1 of each chain (units 18, 19; `check.py` asserts exactly that). The caller needs one new op, QSELF (R[x] *= q^k), a one-register in-place Q^-1 job; with it kappa and S are unchanged and the E-credit premise disappears. If QSELF is refused, a QUERY-only form exists in principle at about -6.36% (gadget replayed, whole caller not built). Status: replayed exact, caller 76x76 equals diag(Q^-1 prod D^eps) on four central characters, 12 caller controls and 6 root controls rejected; legality of QSELF is a maintainer question. Backup to the E credit. +- **Toy words** of a Whitehead-dump search and **stage-level conjugators** of an unpadding search: reports exist (model/toy); the first exact legal Whitehead word with k_up < v is not found (a hand sketch stalled at v=3). + +## 3. Backup words (data; none has been reviewed by a human) + +| word | kappa | status | +|---|---|---| +| `data/wh.json.gz` | .0036275819188 | first, a candidate for anyone to chain and ship. The two-extra-splits-free main-wire word plus 16 shared wires on helper contacts; exact replay at every step, S=1520, S certificate 1125, peak 40, endpoint 0 bad. **Chain not run, not independently reviewed.** +.0415% over its base (.0036260774601), +.1027% over #6934 | +| `data/ft.json.gz` | .00362710048 | exact replay (0 violations, endpoint 0 bad, S 1520), flags-only retarget of 38 components on the main-wire word, +.0023% over it. Chain not run | +| `data/sr0.json.gz` | .00360666479 | dyadic, reviewed by an independent replay: endpoint 0 bad, joint pass on both callers, 7 undetected ADD mutants shown equivalent | +| `data/rbf.json.gz` | .00362232643 | chain passed on two callers; peak 30; S=225; +.0350% over #6932; below #6934 | + +kappa of `sr0` and `rbf` is recomputed from their invoices (`data/*.invoice.json`) by `check.py`; `wh` and `ft` need the full replay, only their hashes are checked. + +## 4. Open leads (odds are judgement) + +| lead | size | odds | smallest exact test | +|---|---|---|---| +| Pads below about 8 R0 | small | 5% | price one pad family exactly | +| Unpadding with stage-level conjugators | +.054 to +.095% model | 5% | three-role caller tooling, then one exact word | +| Pairing with c.d=0 as the largest block | ceiling 873 R0 | 3% | one exact word with a c.d=0 pool | +| Comb wires on helper contacts | up to 243.6 R0 frames-only; 1806 chord-clean pairs before dedupe | 10% for 5+ R0 | build the two-line comb, replay | +| Merge of X69 with helpers 444/589 | +1.386 R0 | 40% as a small gain | apply and replay; check it composes with the wires | +| Do the 16 wires compose with the two extra splits; flip 695 (+11.73 R0 model) | unknown | under 10% | build both, exact replay | +| Share maximisation: 466 donor/host pairs | frames-only ceiling 4948 R0; only 3 pairs (18.5 R0) schedulable as is, not leak-tested | 5% | mod-p leak test of the 466 pairs with retiming and in-rest reorder. Census: 1061 helpers, 568 carry F, 569 R, 224 share at one hop | +| TWINRELAY | up to 17.5 R0 | 5% | not re-tested on the current word | +| Flags | dims-only MILP +38.9 R0 is a relaxation; with real pinned subspaces the exact optimum is +0.523 R0 (realised in `ft`) | closed at 0.52 on that word | none | +| t=-1 native below UP about 93 | break-even in the model | 1% | exact word with T[Y,K]=0 | +| w<9 at k=6 (rank 53) | open | under 2% | exact orthogonal-set argument | +| Second-order deformation of c.d=0 pools | derived, test not run | 1% | second-order obstruction at a singular point | +| Multi-carrier and causal-order ties | unpriced | under 2% | exact tie replay | +| Hosted-network F | bounded at 1.42 to 1.48, not built | under 2% | build the network | +| Radix-3 window C in {63,64} | needs ternary frames | under 2% | ternary frame replay | +| Flip with shear on s=3 helpers; typed-job columns | unpriced | under 2% | one exact column | +| From-scratch two-chain word | F was built and scored for one chain only; no from-scratch word has had its two-chain Share measured. Tie needs 2,221 R0, kill under 1,600 | 3 to 8% | exact Share on the g2best generator word. The 104-port count is inherited, S margin 1%, never re-priced with shares | + +## 5. What is finished on this schedule + +Harvest supply reads 0 chronologically (Through Law, supply form; sound in total on the three words tested, fails per frame on causal cuts) and 0 causal witnesses (sampled, with a planted control that finds the two known splits at 30 samples; not a floor). Scope: the dyadic and odd words of this schedule, not other schedules or new object classes. + +## Not claimed + +No kappa, no supplier, no review by a human. Every one-author proof above has had no second reader. + +## Exact checks + +`python3.12 -I -B research/p104-two-chain-findings/check.py` (about 30 seconds, standard library) or `verify.sh`; it ends with `PASS_P104_TWO_CHAIN_FINDINGS` and fails on a failing control. + +## Open next questions + +1. Which open lead in section 4 settles first? Each row names its smallest exact test. +2. Can `wh` be chained (native maps, joint caller, outer, mutants) and shipped? +3. Does the two-chain Share of a from-scratch word reach 2,221 R0? + +The structured form is in `TASK.json`. + +Prepared by DreamingOfClouds with Claude Opus 5.5 (Anthropic), via Claude Code. + +## Full texts and data + +`ROUNDED-DIVISION.md` is the full statement and proof of the rounded-division theorem, with its conditions. `data/roots/` holds the exact root data for the L=3 rho=1 roots and the two-chain h=4/6/8 roots. `data/toys/` holds the exact k_up 0 else -1; step = s * min(2, abs(c)) + M[i] = [a + step * b for a, b in zip(M[i], M[j])]; ops.append(('ADD', i, j, step)); c -= step + for col in range(n): + while True: + nz = [r for r in range(col, n) if M[r][col]] + need(nz, 'singular block') + if len(nz) == 1 and abs(M[nz[0]][col]) == 1: + break + p = min(nz, key=lambda r: (abs(M[r][col]), r)) + for r in nz: + if r != p: + qq = round(Q(M[r][col], M[p][col])) + if qq: + add(r, p, -qq) + p = nz[0] + if p != col: + M[p], M[col] = M[col], M[p]; ops.append(('SWAP', p, col)) + if M[col][col] == -1: + M[col] = [-a for a in M[col]]; ops.append(('SCALE', col)) + for r in range(n): + if r != col and M[r][col]: + add(r, col, -M[r][col]) + need(all(M[i][j] == int(i == j) for i in range(n) for j in range(n)), 'did not reach identity') + out = [] + for o in reversed(ops): + if o[0] == 'ADD': + out.append([ty, 'ADD', o[1] + off, o[2] + off, str(-o[3])]) + elif o[0] == 'SWAP': + out.append([ty, 'SWAP', o[1] + off, o[2] + off]) + else: + out.append([ty, 'SCALE', o[1] + off, '-1']) + return out + + +# ---------------------------------------------------------------- raw bound (formulas of the package's check.py / ordinary.py) +def swaps(sel): + wanted = set(range(len(sel))); return len(list(zip(sorted(set(sel) - wanted), sorted(wanted - set(sel))))) + + +def shim(J, ty): + t = J['types'][ty]; off = t['offset']; ev = [] + for e in J['events']: + if e[0] == 'J': + ev.append(['HOST', e[1]]) + elif e[0] == ty: + e = list(e[1:]) + if e[0] in ('ADD', 'SWAP', 'QUERY'): + e[1] -= off; e[2] -= off + else: + e[1] -= off + ev.append(e) + return dict(events=ev, roles=t['roles'], ambient_rank=J['ambient_rank'], diagonal=t['diagonal']) + + +def rest_of(C, ports): + ev = C['events']; roles = C['roles']; amb = C['ambient_rank']; mx = mn = mp = 0 + for role, (qp, zero, *sel) in enumerate(C['diagonal']): + axes = ([0] if qp else []) + [a for st, y in enumerate(sel, 1) if y for a in range(9 + 8 * (st - 1), 9 + 8 * st)] + k = swaps(axes); mx += 2 * k * ports; mn += 2 * bool(qp) * ports; mp += int(qp == -1) * ports + ie = 0; qn = qph = 0 + for e in ev: + if e[0] == 'IDLE_ONE': + ie += 2 * swaps([a for st in e[2] for a in range(9 + 8 * (st - 1), 9 + 8 * st)]) * ports + elif e[0] == 'QUERY': + qn += 2 * ports; qph += int(e[3] == -1) * ports + return (32 * roles * ports * len(ev) + sum(e[0] == 'QUERY' for e in ev) * 16 * ports + roles * ports * 26 + + (mx + mn + mp) * 1000 + ie * 1000 + (qn + qph) * 1000) + + +def word_terms(W): + """per-call terms of a word: allowance, reviewed upper, routes, public count, nD""" + from collections import Counter + H = W['hosted']; nD = len(H['Dports']); n = len(W['initial']); live = set(W['live']) + main = live | {r + 112 for r in live} | set(H['X2']) | set(H['Y2']) + dim = [len(b) for b in W['frames']] + paid = Counter(abs(dim[e[3]] - dim[e[2]]) for e in W['program'] if e[0] == 'MOVE') + hel = Counter(dim[W['final'][r]] - dim[W['initial'][r]] for r in range(n) if r not in main) + life = sum(e[0] == 'INIT' for e in W['program']); allow = upper = 0 + for e in W['program']: + if e[0] in ('INIT', 'CLEAR'): + allow += 2 + elif e[0] == 'SCALE': + q = Q(e[2]); a, d = abs(q.numerator), q.denominator + allow += 2 * (abs(a.bit_length() - d.bit_length()) + int(q < 0)); upper += 4 * (a.bit_length() + d.bit_length() + 1) + elif e[0] in ('ADD', 'COPY'): + q = Q(e[3]); a, d = abs(q.numerator), q.denominator + allow += 2 * (3 + a.bit_length() - 1 + bin(a).count('1') + d.bit_length() - 1); upper += 4 * (a.bit_length() + bin(a).count('1') + d.bit_length() + 1) + routes = (sum(paid.values()) + 2 * sum(hel.values()) + 208 + 2 * nD + 4 * 104 + 4 * nD + 4 * life) * 1000 + return dict(allow=allow, upper=upper, routes=routes, n=n, nD=nD, paid=paid, hel=hel) + + +scale_cost = lambda S: 4 * (S.bit_length() + 1 + 1) + 4 * (1 + S.bit_length() + 1) # one SCALE by S at entry and one by 1/S at exit at the reviewed upper rate: 80 for S = 225, 104 for S = 1125 + + +def raw_all(J, W, S): + t = word_terms(W); nA, nB = len(J['types']['A']['ports']), len(J['types']['B']['ports']) + need((nA, nB) == (t['nD'], 104 - t['nD']), 'port split of the caller differs from the word') + rest = rest_of(shim(J, 'A'), nA) + rest_of(shim(J, 'B'), nB) + lam = sum(1 for e in J['events'] if e[0] == 'A' and e[1] == 'LAMBDA') * nA + sum(1 for e in J['events'] if e[0] == 'B' and e[1] == 'LAMBDA') * nB + debit = 1000 * lam; per_in = 18 * t['n'] * scale_cost(S) + lit = 18 * 10 ** 7 + rest; act = 18 * (t['allow'] + t['routes']) + rest; up = 18 * (t['upper'] + t['routes']) + rest + return dict(rest=rest, literal=lit, actual=act, upper=up, recharge=up + debit, per_input=up + per_in, per_input_recharge=up + per_in + debit, + lambda_jobs=lam, debit=debit, per_in=per_in, public=t['n']) diff --git a/research/p104-query-only-interval/replacement.py b/research/p104-query-only-interval/replacement.py new file mode 100644 index 0000000000..aa6b5e6580 --- /dev/null +++ b/research/p104-query-only-interval/replacement.py @@ -0,0 +1,97 @@ +"""Construct the whole source-specific interval using three existing QUERYs. + +Only current ADD, SWAP, LAMBDA and QUERY events are newly emitted. Every +temporary linear combination uses an existing public role and is restored; +no new initialized role, helper credit, or service opcode appears. +Prepared for @CubeJerry with substantial OpenAI assistance. Apache-2.0. +""" +from copy import deepcopy +from collections import Counter +from source_binding import need + +START, STOP = 457, 576 # half-open, zero-based exact source event interval + + +def add(dst, src, coefficient): + need(dst != src and coefficient in (-1,1), 'literal distinct unit ADD') + return ['A','ADD',dst,src,str(coefficient)] + + +def lam(role, sign): + return ['A','LAMBDA',role,sign] + + +def tscale(role): + # Source lambda_+^2=q^2=t, and t^2=1. This is not a projection. + return [lam(role,1),lam(role,1)] + + +def tadd(dst, src, sign): + # Form +/-t*src, use it once, then restore the arbitrary source exactly. + return tscale(src)+[add(dst,src,sign)]+[lam(src,-1),lam(src,-1)] + + +def three_queries(a=0,b=19,c=1,d=2): + need(len({a,b,c,d}) == 4, 'four distinct arbitrary public fields') + out = [['A','SWAP',a,c],['A','SWAP',b,c],add(b,d,1)] + out += tscale(d)+tadd(c,a,1) + out += [['A','QUERY',a,b,-1]] + out += tadd(c,a,-1)+[['A','QUERY',b,c,-1]]+tadd(c,a,1) + out += tadd(d,b,-1)+[['A','QUERY',c,d,-1]]+tadd(d,b,1) + out += tscale(c)+[add(a,c,-1)]+tscale(d) + need(len(out) == 38 and Counter(e[1] for e in out)['QUERY'] == 3, + 'fixed complete gadget inventory') + return out + + +def to_basis(): + # c=old role1; d=lambda_+ * sum_{k=1}^{18}(-1)^k old rolek. + out = [add(k,1,-1) for k in range(2,19)] + out += [add(2,k,(-1)**k) for k in range(3,19)] + return out+[lam(2,1)] + + +def from_basis(): + out = [lam(2,-1)] + out += [add(2,k,-(-1)**k) for k in range(3,19)] + out += [add(k,1,1) for k in range(2,19)] + return out + + +def parts(caller): + e = caller['events'] + need(len(e) == 2991 and e[START] == ['A','QSELF',0,-1] + and e[495] == ['A','QUERY',0,1,-1] + and e[STOP-1] == ['A','QSELF',19,-1], 'exact three paid source sites') + first, second, other = deepcopy(e[458:495]),deepcopy(e[496:545]),deepcopy(e[545:575]) + need(len(first) == 37 and len(second) == 49 and len(other) == 30, + 'exact even subinterval boundaries') + for block, lo, hi in ((first,0,19),(second,0,19),(other,19,38)): + for event in block: + need(event[0] == 'A' and event[1] in ('ADD','SCALE','SWAP','LAMBDA','IDLE_ONE'), + 'even intervening operation alphabet') + fields = event[2:4] if event[1] in ('ADD','SWAP') else event[2:3] + need(all(lo <= x < hi for x in fields), 'disjoint actual chain support') + need([x for x in first+second+other if x[1] == 'IDLE_ONE'] == [['A','IDLE_ONE',28,[9]]], + 'sole D operation is preserved in the second-chain block') + return first,second,other + + +def transform(caller): + first,second,other=parts(caller) + replacement = other+to_basis()+[add(0,2,-1)]+three_queries()+from_basis()+first+second + need(len(replacement) == 223, 'complete expanded interval') + out=deepcopy(caller) + out['events'][START:STOP]=replacement + out['ops_note']=str(out.get('ops_note',''))+'; source interval457..575 replaced by a three-QUERY even-basis factorization; no QSELF' + need(not any(e[0] != 'J' and e[1] == 'QSELF' for e in out['events']), 'all QSELF removed') + return out + + +def counts(caller): + out={} + for ty,t in caller['types'].items(): + c=Counter(e[1] for e in caller['events'] if e[0] == ty) + out[ty]={'source_events':dict(sorted(c.items())), + 'physical_instances':{k:v*len(t['ports']) for k,v in sorted(c.items())}} + return out diff --git a/research/p104-query-only-interval/source_binding.py b/research/p104-query-only-interval/source_binding.py new file mode 100644 index 0000000000..f11d67c6c6 --- /dev/null +++ b/research/p104-query-only-interval/source_binding.py @@ -0,0 +1,52 @@ +"""Immutable source capsule for one exact QUERY-only interval transformation. + +Prepared for @CubeJerry with substantial OpenAI assistance. Apache-2.0. +""" +from pathlib import Path +import gzip +import hashlib +import importlib.util +import json +import sys + +ROOT = Path(__file__).resolve().parent + + +def need(ok, why): + if not ok: + raise ValueError(why) + + +def authenticate(): + pins = json.loads((ROOT/'DEPENDENCIES.json').read_bytes())['files'] + seen = set() + for row in pins: + rel = Path(row['local_path']) + need(not rel.is_absolute() and '..' not in rel.parts and str(rel) not in seen, + 'unique internal immutable input') + seen.add(str(rel)) + p = ROOT/rel + need(p.is_file() and not p.is_symlink(), 'regular capsule input') + b = p.read_bytes() + need(len(b) == row['bytes'] and hashlib.sha256(b).hexdigest() == row['sha256'] + and hashlib.sha1(b'blob '+str(len(b)).encode()+b'\0'+b).hexdigest() == row['git_blob'], + 'exact immutable input bytes: '+str(rel)) + return len(pins) + + +def module(name): + p = ROOT/'vendor'/(name+'.py') + spec = importlib.util.spec_from_file_location('query_interval_'+name, p) + mod = importlib.util.module_from_spec(spec) + sys.modules[spec.name] = mod + # Compile authenticated source bytes directly, without a .pyc lookup. + exec(compile(p.read_bytes(), str(p), 'exec'), mod.__dict__) + return mod + + +def inputs(): + authenticate() + caller = json.loads((ROOT/'data/caller_efree.json').read_bytes()) + root = json.loads((ROOT/'data/root_A_efree.json').read_bytes()) + word = json.loads(gzip.decompress((ROOT/'data/word_6936.json.gz').read_bytes())) + return caller, root, word diff --git a/research/p104-query-only-interval/vendor/dual_certificate.py b/research/p104-query-only-interval/vendor/dual_certificate.py new file mode 100644 index 0000000000..5be2a45930 --- /dev/null +++ b/research/p104-query-only-interval/vendor/dual_certificate.py @@ -0,0 +1,129 @@ +"""Independent backward covectors with exact integer dyadic coefficients. + +For each q in {1,i,-1,-i}, D variables remain formal. The four evaluations +are injective on Q(i)[q]/(q^4-1); this is not sampled-D verification. +No forward replay or its arithmetic implementation is imported. +Prepared for @CubeJerry with substantial OpenAI assistance. Apache-2.0. +""" +from fractions import Fraction + + +def require(test, message): + if not test: + raise ValueError(message) + + +def norm(a, b, s): + while s and not (a & 1 or b & 1): + a //= 2 + b //= 2 + s -= 1 + return a, b, s + + +ONE = (1, 0, 0) +ZERO = (0, 0, 0) +IPHASE = ((1, 0, 0), (0, 1, 0), (-1, 0, 0), (0, -1, 0)) + + +def scalar(text): + f = Fraction(text) + d = f.denominator + require(d & (d-1) == 0, 'dyadic dual scalar') + return f.numerator, 0, d.bit_length()-1 + + +def plus(u, v): + a, b, s = u + c, d, t = v + w = max(s, t) + return norm((a << (w-s)) + (c << (w-t)), (b << (w-s)) + (d << (w-t)), w) + + +def times(u, v): + a, b, s = u + c, d, t = v + return norm(a*c-b*d, a*d+b*c, s+t) + + +def stretch(poly, c=ONE, mask=0): + ans = {} + for (output, old), coefficient in poly.items(): + require(not old & mask, 'dual repeated D factor') + value = times(coefficient, c) + if value != ZERO: + ans[(output, old | mask)] = value + return ans + + +def sum_poly(left, right): + ans = dict(left) + for key, value in right.items(): + value = plus(ans.get(key, ZERO), value) + if value == ZERO: + ans.pop(key, None) + else: + ans[key] = value + return ans + + +def certificate(caller): + receipts = [] + for character in range(4): + # At the output boundary, each output covector is independent. + C = [{(r, 0): ONE} for r in range(caller['roles'])] + peak = 0 + q = IPHASE[character] + qi = IPHASE[-character % 4] + for event in reversed(caller['events']): + if event[0] == 'J': + mask = 1 << (event[1]-1) + u, v, x, y = event[2] + for r in (u, v, x, y): + C[r] = stretch(C[r], mask=mask) + # Transposes of the two triangular HOST2 updates. + C[u] = sum_poly(C[u], stretch(C[v], qi)) + C[y] = sum_poly(C[y], stretch(C[x], times(scalar(caller['types']['A']['alpha2']), q))) + a, b, alpha, beta = event[3] + al, be = scalar(alpha), scalar(beta) + # The dense HOST 2x2 block is transposed, not inverted. + ca = sum_poly(C[a], stretch(C[b], times(be, qi))) + cb = sum_poly(stretch(C[a], times(al, q)), stretch(C[b], plus(ONE, times(al, be)))) + C[a], C[b] = stretch(ca, mask=mask), stretch(cb, mask=mask) + peak = max(peak, sum(len(poly) for poly in C)) + require(peak <= 500000, 'bounded independent dual replay') + continue + op, x = event[1:3] + if op == 'ADD': + y = event[3] + C[y] = sum_poly(C[y], stretch(C[x], scalar(event[4]))) + elif op == 'QUERY': + y = event[3] + C[y] = sum_poly(C[y], stretch(C[x], IPHASE[(character*event[4]) % 4])) + elif op == 'SCALE': + C[x] = stretch(C[x], scalar(event[3])) + elif op == 'SWAP': + C[x], C[event[3]] = C[event[3]], C[x] + elif op == 'QSELF': + C[x] = stretch(C[x], IPHASE[(character*event[3]) % 4]) + elif op == 'IDLE_ONE': + mask = sum(1 << (k-1) for k in event[3]) + require(mask.bit_count() == len(event[3]), 'dual unique idle stages') + C[x] = stretch(C[x], mask=mask) + elif op == 'LAMBDA': + # Exact character value of ((1+s i)+(1-s i)q^2)/2. + C[x] = stretch(C[x], ONE if character % 2 == 0 else IPHASE[event[3] % 4]) + else: + raise ValueError('unsupported dual source event') + peak = max(peak, sum(len(poly) for poly in C)) + require(peak <= 500000, 'bounded independent dual replay') + for ty in ('A', 'B'): + t = caller['types'][ty] + for j, diagonal in enumerate(t['diagonal']): + r = t['offset'] + j + mask = sum(bit << k for k, bit in enumerate(diagonal[2:])) + target = {(r, mask): IPHASE[(character*diagonal[0]) % 4]} + require(C[r] == target, 'backward arbitrary-output covector endpoint') + receipts.append({'q_character_power_of_i': character, 'peak_terms': peak, + 'independent_outputs': len(C), 'formal_D_variables': 18}) + return receipts diff --git a/research/p104-query-only-interval/vendor/invoice.py b/research/p104-query-only-interval/vendor/invoice.py new file mode 100644 index 0000000000..a576bd0e00 --- /dev/null +++ b/research/p104-query-only-interval/vendor/invoice.py @@ -0,0 +1,211 @@ +"""Complete source invoice and positive ordinary-cost comparison. + +Local algebra/native correctness is inherited, not inferred from these counts. +Prepared for @CubeJerry with substantial OpenAI assistance. Apache-2.0. +""" +from collections import Counter +from fractions import Fraction + + +def require(test, message): + if not test: + raise ValueError(message) + + +def space(vectors): + span = {0} + for v in vectors: + require(type(v) is int and 0 < v < 512 and v not in span, 'independent nine-axis frame') + span |= {x ^ v for x in span} + return span + + +def local_invoice(word): + n = word['public'] + frames = word['frames'] + spans = [space(f) for f in frames] + ranks = list(map(len, frames)) + hosted = word['hosted'] + require(len(word['live']) == len(set(word['live'])) == 104 and + len(hosted['X2']) == len(hosted['Y2']) == 96, 'exact first/second main list sizes') + main = set(word['live']) | {r+112 for r in word['live']} | set(hosted['X2']) | set(hosted['Y2']) + require(len(main) == 400 and len(hosted['Dports']) == 96, '104 first pairs and 96 second pairs') + require(len(word['ports']) == len(set(word['ports'])) == len(word['live']) == 104, 'literal native port inventory') + require(len(word['initial']) == len(word['final']) == n, 'literal native boundaries') + helpers = Counter() + for r in set(range(n))-main: + a, b = word['initial'][r], word['final'][r] + require(spans[a] < spans[b], 'positive productive helper endpoint') + helpers[ranks[b]-ranks[a]] += 1 + current = word['initial'][:] + [None]*word['owned_fields'] + live = set() + paid = Counter() + lifetimes = peak = rises = rise_mass = 0 + allowance = reviewed_scalar = 0 + for event in word['program']: + op, r = event[:2] + if op == 'INIT': + require(n <= r < len(current) and r not in live and current[r] is None, 'local fresh owned initialization') + live.add(r); current[r] = event[2] + lifetimes += 1; peak = max(peak, len(live)); allowance += 2 + elif op == 'CLEAR': + require(r in live and current[r] == event[2], 'local current owned clearance') + live.remove(r); current[r] = None; allowance += 2 + elif op == 'MOVE': + a, b, owned = event[2:] + require(current[r] == a and ((r in live) == owned), 'actual MOVE ownership and chart') + require(spans[a] < spans[b] or spans[b] < spans[a], 'strict nested MOVE') + rank = abs(ranks[b]-ranks[a]); paid[rank] += 1 + if owned and ranks[b] > ranks[a]: + rises += 1; rise_mass += rank + current[r] = b + elif op in ('ADD', 'COPY', 'SCALE'): + require(current[r] == event[-1] and (r < n or r in live), 'local live scalar destination') + if op != 'SCALE': + src = event[2] + require(src != r and current[src] == current[r] and (src < n or src in live), 'local live scalar source') + f = Fraction(event[-2]); a, d = abs(f.numerator), f.denominator + require(a > 0, 'nonzero local coefficient') + if op == 'SCALE': + allowance += 2*(abs(a.bit_length()-d.bit_length())+int(f < 0)) + reviewed_scalar += 4*(a.bit_length()+d.bit_length()+1) + else: + allowance += 2*(3+a.bit_length()-1+a.bit_count()+d.bit_length()-1) + reviewed_scalar += 4*(a.bit_length()+a.bit_count()+d.bit_length()+1) + else: + raise ValueError('unexpected local opcode') + require(not live and current[:n] == word['final'], 'local complete lifetime/chart return') + routes = 1000*(sum(paid.values())+2*sum(helpers.values())+208+2*96+4*104+4*96+4*lifetimes) + return dict(public=n, helpers=helpers, paid=paid, lifetimes=lifetimes, peak_owned=peak, + owned_labels=word['owned_fields'], owned_rises=rises, owned_rise_mass=rise_mass, + allowance=allowance, reviewed_scalar=reviewed_scalar, routes=routes, + allowance_per_call=allowance+routes, reviewed_per_call=reviewed_scalar+routes) + + +def outer_invoice(caller, local): + targets = Counter({r: 18*n for r, n in local['helpers'].items()}) + paid = Counter({r: 18*n for r, n in local['paid'].items()}) + for ty in ('A', 'B'): + t = caller['types'][ty]; multiplicity = len(t['ports']) + for d in t['diagonal']: + targets[d[0] % 2 + 8*sum(d[2:])] += multiplicity + for e in caller['events']: + if e[0] != ty: + continue + if e[1] in ('QUERY', 'QSELF'): + paid[1] += multiplicity + elif e[1] == 'IDLE_ONE': + paid[8*len(e[3])] += multiplicity + return targets, paid + + +def exchanges(selected): + require(len(set(selected)) == len(selected), 'adapter distinct selected axes') + return len(set(selected)-set(range(len(selected)))) + + +def caller_cost(caller): + out = dict(caller_envelope=0, thin_lifecycle=0, qself_extra_lifecycle=0, + main_normalizers=0, main_maps=0, idle_maps=0, query_maps=0, + lambda_recharge=0) + for ty in ('A', 'B'): + t = caller['types'][ty]; ports = len(t['ports']); roles = t['roles'] + events = [e for e in caller['events'] if e[0] in (ty, 'J')] + out['caller_envelope'] += 32*roles*ports*len(events) + out['main_normalizers'] += 26*roles*ports + for qp, zero, *mask in t['diagonal']: + axes = ([0] if qp else []) + [a for k, yes in enumerate(mask, 1) if yes for a in range(9+8*(k-1), 9+8*k)] + out['main_maps'] += 1000*ports*(2*exchanges(axes)+2*bool(qp)+int(qp == -1)) + for e in events: + if e[0] == 'J': + continue + op = e[1] + if op in ('QUERY', 'QSELF'): + out['thin_lifecycle'] += 16*ports + out['query_maps'] += 1000*ports*(2+int(e[-1] == -1)) + if op == 'QSELF': + # Additional explicit charge: four lifecycle/scalar operations, + # each at the inherited 32-unit ordinary gate envelope. + out['qself_extra_lifecycle'] += 128*ports + elif op == 'IDLE_ONE': + axes = [a for k in e[3] for a in range(9+8*(k-1), 9+8*k)] + out['idle_maps'] += 2000*ports*exchanges(axes) + elif op == 'LAMBDA': + out['lambda_recharge'] += 1000*ports + # The extra LAMBDA reading is deliberately separate and charged twice below. + out['raw_rest'] = sum(v for k, v in out.items() if k != 'lambda_recharge') + return out + + +def verify(old, new, word): + require(old['types']['A']['ports'] == new['types']['A']['ports'] == word['hosted']['Dports'], 'same actual 96 second-plane ports') + require(old['types']['B']['ports'] == new['types']['B']['ports'], 'same remaining eight ports') + require(new['types']['A']['roles'] == new['types']['B']['roles'] == 38, 'E-free main role count') + require(all(sum(d[2:]) > 0 for t in new['types'].values() for d in t['diagonal']), 'no E or other empty-mask main target') + old_j = [e for e in old['events'] if e[0] == 'J'] + new_j = [e for e in new['events'] if e[0] == 'J'] + require([e[1] for e in old_j] == [e[1] for e in new_j] == list(range(1, 19)), 'same 18 complete local calls') + # Bind every concrete local public field at every new source contact. + mains = {(ty, role, port) for ty, t in new['types'].items() + for role in range(t['offset'], t['offset']+t['roles']) for port in t['ports']} + helpers = set() + for e in new_j: + fields = {} + second = dict(zip(word['hosted']['Dports'], zip(word['hosted']['X2'], word['hosted']['Y2']))) + for port in new['types']['A']['ports']: + first = word['live'][port]; x, y = second[port] + for field, role in zip((first, first+112, x, y), e[2]): + fields[field] = ('main', 'A', role, port) + for port in new['types']['B']['ports']: + first = word['live'][port] + for field, role in zip((first, first+112), e[3][:2]): + fields[field] = ('main', 'B', role, port) + require(len(fields) == 400 and len(set(fields.values())) == 400, 'all concrete source mains map injectively') + for field in range(word['public']): + if field not in fields: + target = ('helper', e[1], field) + require(target not in helpers, 'fresh arbitrary helper input for each local invocation') + helpers.add(target); fields[field] = target + require(set(fields) == set(range(word['public'])) and len(set(fields.values())) == word['public'], 'complete concrete local public map') + require(len(mains) == 3952 and len(helpers) == 19098, 'complete distinct main/helper inventory') + # Exact B stream equality after the public-role offset changes by two. + def bstream(c): + off = c['types']['B']['offset']; result = [] + for e in c['events']: + if e[0] != 'B': + continue + z = e[:]; z[2] -= off + if e[1] in ('ADD', 'SWAP', 'QUERY'): + z[3] -= off + result.append(z) + return result + require(bstream(old) == bstream(new), 'whole B stream unchanged after offset relabeling') + require(old['types']['B']['diagonal'] == new['types']['B']['diagonal'], 'B targets unchanged') + local = local_invoice(word) + oldT, oldP = outer_invoice(old, local) + newT, newP = outer_invoice(new, local) + for rank in set(oldT)|set(oldP)|set(newT)|set(newP): + need = 192 if rank == 1 else 0 + require(oldT[rank]-newT[rank] == need and oldP[rank]-newP[rank] == need, 'complete rankwise target/paid delta') + a, b = caller_cost(old), caller_cost(new) + old_upper = 18*local['reviewed_per_call'] + a['raw_rest'] + new_upper = 18*local['reviewed_per_call'] + b['raw_rest'] + scale = 18*word['public']*104 # #6936's explicit per-input 1125 conversion reading + require(old_upper == 832255648, 'exact reconstruction of predecessor reviewed raw count') + require(old_upper+a['lambda_recharge']+scale == 847550640, 'exact predecessor double-charge reading') + require(new_upper+b['lambda_recharge']+scale < 10**9, 'positive complete new conditional ordinary budget') + return {'local_source_counts': local, + 'old_targets': dict(sorted(oldT.items())), 'old_paid': dict(sorted(oldP.items())), + 'new_targets': dict(sorted(newT.items())), 'new_paid': dict(sorted(newP.items())), + 'target_count': sum(newT.values()), 'paid_count': sum(newP.values()), + 'rank_mass_surplus': sum(r*(newT[r]-newP[r]) for r in set(newT)|set(newP)), + 'new_paid_rank_mass': sum(r*n for r,n in newP.items()), + 'old_caller_cost': a, 'new_caller_cost': b, + 'old_reviewed_raw': old_upper, 'new_reviewed_raw': new_upper, + 'per_call_scale_recharge': scale, + 'new_double_recharged_raw': new_upper+b['lambda_recharge']+scale, + 'ordinary_margin': 10**9-new_upper-b['lambda_recharge']-scale, + 'owned_query_bank_count': 1, 'old_outer_query_lifetimes': 608, + 'new_outer_query_lifetimes': 416, 'new_qself_lifetimes': 192, + 'selected_kappa_change': False, + 'status': 'Conditional source invoice; no native, rounded, physical fullcaller or supplier admission follows from counting.'} diff --git a/research/p104-query-only-interval/vendor/operator_ring.py b/research/p104-query-only-interval/vendor/operator_ring.py new file mode 100644 index 0000000000..20acae64a1 --- /dev/null +++ b/research/p104-query-only-interval/vendor/operator_ring.py @@ -0,0 +1,140 @@ +"""Exact forward certificate over Q(i)[q,D_1,...,D_18]/(q^4-1). + +This verifies an operator identity, not values at sampled D substitutions. +Prepared for @CubeJerry with substantial OpenAI assistance. Apache-2.0. +""" +from fractions import Fraction as F +import hashlib +import json + + +def need(ok, why): + if not ok: + raise ValueError(why) + + +def validate(caller): + need(caller['schema'] == 'mixed-root-caller/1', 'mixed caller schema') + need(caller['stages'] == 18 and caller['ambient_rank'] == 153, 'fixed stage/ambient family') + occupied = set() + ports = [] + for ty in ('A', 'B'): + t = caller['types'][ty] + roles = set(range(t['offset'], t['offset'] + t['roles'])) + need(not occupied & roles and len(t['diagonal']) == len(roles), 'complete disjoint roles') + occupied |= roles + ports += t['ports'] + for dg in t['diagonal']: + need(len(dg) == 20 and dg[:2] == [-1, 0] and set(dg[2:]) <= {0, 1}, 'target domain') + need(occupied == set(range(caller['roles'])), 'complete arbitrary input range') + need(sorted(ports) == list(range(104)), 'complete disjoint port partition') + need(F(caller['types']['A']['alpha2']) == -1 and F(caller['types']['A']['beta2']) == 0, + 'exact HOST2 coefficients') + stages = [] + for e in caller['events']: + if e[0] == 'J': + need(len(e) == 4 and len(e[2]) == 4 and len(e[3]) == 4, 'joint contact record') + stages.append(e[1]) + for ty, touched in (('A', e[2]), ('B', e[3][:2])): + t = caller['types'][ty] + need(len(set(touched)) == len(touched) and all(t['offset'] <= r < t['offset']+t['roles'] for r in touched), 'joint distinct fields') + need(F(e[3][2]) == -1 and F(e[3][3]) == F(1, 2), 'exact hosted gauge') + continue + ty, op = e[:2] + need(ty in ('A', 'B'), 'event tag') + t = caller['types'][ty] + arity = {'ADD': 5, 'SWAP': 4, 'SCALE': 4, 'QUERY': 5, 'QSELF': 4, + 'LAMBDA': 4, 'IDLE_ONE': 4} + need(op in arity and len(e) == arity[op], 'exact opcode arity') + touched = e[2:4] if op in ('ADD', 'SWAP', 'QUERY') else e[2:3] + need(all(type(r) is int and t['offset'] <= r < t['offset']+t['roles'] for r in touched), 'source role domain') + if len(touched) == 2: + need(touched[0] != touched[1], 'distinct scalar/query roles') + if op in ('ADD', 'SCALE'): + c = F(e[-1]) + need(c and c.denominator & (c.denominator-1) == 0, 'current dyadic coefficient') + elif op in ('QUERY', 'QSELF', 'LAMBDA'): + need(e[-1] in (-1, 1), 'signed operator orientation') + elif op == 'IDLE_ONE': + need(e[3] and len(e[3]) == len(set(e[3])) and all(type(k) is int and 1 <= k <= 18 for k in e[3]), 'whole idle stage set') + need(stages == list(range(1, 19)), 'fresh ordered joint stages') + + +def multiply(row, a=F(1), b=F(0), q=0, d=0, modulus=4): + """A row key is (independent input, q exponent, square-free D mask).""" + out = {} + for (j, p, mask), (x, y) in row.items(): + need(not mask & d, 'repeated D factor exceeds the declared square-free domain') + c = (a*x-b*y, a*y+b*x) + if c != (0, 0): + out[(j, (p+q) % modulus, mask | d)] = c + return out + + +def add(a, b): + out = a.copy() + for k, (x, y) in b.items(): + u, v = out.get(k, (0, 0)) + c = (x+u, y+v) + if c == (0, 0): + out.pop(k, None) + else: + out[k] = c + return out + + +def expected(caller): + result = [None] * caller['roles'] + for ty in ('A', 'B'): + t = caller['types'][ty] + for j, dg in enumerate(t['diagonal']): + r = t['offset'] + j + result[r] = {(r, dg[0] % 4, sum(bit << k for k, bit in enumerate(dg[2:]))): (F(1), F(0))} + return result + + +def replay(caller, modulus=4): + validate(caller) + R = [{(j, 0, 0): (F(1), F(0))} for j in range(caller['roles'])] + peak = 0 + peak_row = 0 + for e in caller['events']: + if e[0] == 'J': + d = 1 << (e[1]-1) + src, dst, x2, y2 = e[2] + R[dst] = add(R[dst], multiply(R[src], q=-1, modulus=modulus)) + R[x2] = add(R[x2], multiply(R[y2], a=F(caller['types']['A']['alpha2']), q=1, modulus=modulus)) + for r in e[2]: + R[r] = multiply(R[r], d=d, modulus=modulus) + s, t, al, be = e[3] + a, b = F(al), F(be) + # Simultaneous HOST update uses both old rows. + ns = multiply(add(R[s], multiply(R[t], a=a, q=1, modulus=modulus)), d=d, modulus=modulus) + nt = multiply(add(multiply(R[s], a=b, q=-1, modulus=modulus), multiply(R[t], a=1+a*b, modulus=modulus)), d=d, modulus=modulus) + R[s], R[t] = ns, nt + else: + op, x = e[1:3] + if op == 'ADD': + R[x] = add(R[x], multiply(R[e[3]], a=F(e[4]), modulus=modulus)) + elif op == 'SCALE': + R[x] = multiply(R[x], a=F(e[3]), modulus=modulus) + elif op == 'SWAP': + R[x], R[e[3]] = R[e[3]], R[x] + elif op == 'QUERY': + R[x] = add(R[x], multiply(R[e[3]], q=e[4], modulus=modulus)) + elif op == 'QSELF': + R[x] = multiply(R[x], q=e[3], modulus=modulus) + elif op == 'IDLE_ONE': + R[x] = multiply(R[x], d=sum(1 << (k-1) for k in e[3]), modulus=modulus) + elif op == 'LAMBDA': + R[x] = add(multiply(R[x], a=F(1, 2), b=F(e[3], 2), modulus=modulus), + multiply(R[x], a=F(1, 2), b=F(-e[3], 2), q=2, modulus=modulus)) + peak = max(peak, sum(map(len, R))) + peak_row = max(peak_row, max(map(len, R))) + need(peak <= 500000, 'bounded exact replay term ceiling') + need(R == expected(caller), 'exact formal caller endpoint on every input coefficient') + encoded = [[[list(k), str(a), str(b)] for k, (a, b) in sorted(row.items())] for row in R] + return {'events': len(caller['events']), 'independent_inputs': len(R), + 'D_variables': 18, 'q_relation': 'q^4=1', 'peak_terms': peak, + 'peak_row_terms': peak_row, 'endpoint_terms': sum(map(len, R)), + 'endpoint_sha256': hashlib.sha256(json.dumps(encoded, separators=(',', ':')).encode()).hexdigest()} diff --git a/research/p104-query-only-interval/verify.py b/research/p104-query-only-interval/verify.py new file mode 100644 index 0000000000..c76911d4db --- /dev/null +++ b/research/p104-query-only-interval/verify.py @@ -0,0 +1,73 @@ +"""Bounded registered replay and deterministic complete caller generation.""" +from pathlib import Path +import argparse +import json +import sys + +sys.path.insert(0,str(Path(__file__).resolve().parent)) +from source_binding import ROOT,authenticate,inputs,module,need +from replacement import START,STOP,transform +import interval_certificate +import complete_invoice + + +def interval(): + old,root,word=inputs();new=transform(old) + return interval_certificate.verify(old,new) + + +def formal(): + old,root,word=inputs();new=transform(old) + fwd=module('operator_ring');dual=module('dual_certificate') + # The source validator also checks every new literal event's old opcode ABI. + fwd.validate(new) + return dict(forward=fwd.replay(new),backward_covectors=dual.certificate(new), + claim='All 76 independent input/output coefficients; all 18 D variables formal; q^4=1.', + credit='Unchanged public forward/backward engines from 4e2fd1b6; independent interval engine supplied here.') + + +def invoice(): + old,root,word=inputs() + return complete_invoice.verify(old,transform(old),root,word) + + +def controls(): + old,root,word=inputs();new=transform(old) + return interval_certificate.controls(old,new) + + +SUITES={'interval':interval,'formal':formal,'invoice':invoice,'controls':controls} + + +def normalized(value): + return json.loads(json.dumps(value,sort_keys=True)) + + +def main(): + p=argparse.ArgumentParser();p.add_argument('--suite',choices=SUITES) + p.add_argument('--regenerate',action='store_true');a=p.parse_args() + n=authenticate();old,root,word=inputs();new=transform(old) + patch=dict(source_interval_half_open=[START,STOP],replacement_events=new['events'][START:START+223], + old_event_count=2991,new_event_count=3095,scope='Exact formal caller source, no installed physical provider.') + if a.regenerate: + need(a.suite is None,'regenerate all suites together') + results={key:normalized(fn()) for key,fn in SUITES.items()} + results['authenticated_source_files']=n + (ROOT/'RESULT.json').write_text(json.dumps(results,indent=2,sort_keys=True)+'\n') + (ROOT/'QUERY-ONLY-CALLER.json').write_text(json.dumps(new,separators=(',',':'))+'\n') + (ROOT/'PATCH.json').write_text(json.dumps(patch,indent=2)+'\n') + print('WROTE_QUERY_ONLY_INTERVAL_RECEIPTS') + return + need(a.suite is not None,'choose an explicit bounded suite') + result=normalized(SUITES[a.suite]()) + expected=json.loads((ROOT/'RESULT.json').read_bytes()) + need(result == expected[a.suite] and n == expected['authenticated_source_files'], + 'exact stored scoped receipt') + need(new == json.loads((ROOT/'QUERY-ONLY-CALLER.json').read_bytes()),'exact whole generated caller') + need(patch == json.loads((ROOT/'PATCH.json').read_bytes()),'exact complete interval patch') + print(json.dumps(result,sort_keys=True)) + print('PASS_QUERY_ONLY_INTERVAL_'+a.suite.upper()) + + +if __name__ == '__main__': + main()